Problem
WMP Legacy on Windows does not list Poutine in its DLNA library browser, even though Poutine responds correctly to SSDP M-SEARCH and serves a valid MediaServer:1 device description. VLC, Kodi, and other clients browse Poutine without issue.
Diagnosis
Comparing Poutine's device.xml against Plex's (which WMP does list) the gating difference is the Microsoft-proprietary service:
urn:microsoft.com:service:X_MS_MediaReceiverRegistrar:1
WMP filters its library tree to devices that advertise this service. Originally introduced for Xbox 360 authorization, WMP Legacy inherits the check. Plex and Sonos zones both advertise it. Poutine does not.
Secondary gap: no <iconList> in device.xml. WMP tolerates this; not the gating factor for listing.
Fix
Add a stub X_MS_MediaReceiverRegistrar:1 service:
serviceList entry in device.xml (with SCPD + control URLs under /dlna/).
- SCPD describing
IsAuthorized / IsValidated / RegisterDevice.
- SOAP handler that returns
Result=1 for IsAuthorized / IsValidated and Registered=0 for RegisterDevice. No persistence; the service is a no-op gate.
Updates docs/dlna.md compatibility notes.
Acceptance
- WMP Legacy lists Poutine in the library browser alongside Plex and Sonos.
- VLC / Kodi still browse normally.
- Existing DLNA tests pass.
Problem
WMP Legacy on Windows does not list Poutine in its DLNA library browser, even though Poutine responds correctly to SSDP M-SEARCH and serves a valid
MediaServer:1device description. VLC, Kodi, and other clients browse Poutine without issue.Diagnosis
Comparing Poutine's
device.xmlagainst Plex's (which WMP does list) the gating difference is the Microsoft-proprietary service:WMP filters its library tree to devices that advertise this service. Originally introduced for Xbox 360 authorization, WMP Legacy inherits the check. Plex and Sonos zones both advertise it. Poutine does not.
Secondary gap: no
<iconList>indevice.xml. WMP tolerates this; not the gating factor for listing.Fix
Add a stub
X_MS_MediaReceiverRegistrar:1service:serviceListentry indevice.xml(with SCPD + control URLs under/dlna/).IsAuthorized/IsValidated/RegisterDevice.Result=1forIsAuthorized/IsValidatedandRegistered=0forRegisterDevice. No persistence; the service is a no-op gate.Updates
docs/dlna.mdcompatibility notes.Acceptance