After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 696762 - GUPnP-AV-CP cannot browse WMP DMS running on Windows 7
GUPnP-AV-CP cannot browse WMP DMS running on Windows 7
Status: RESOLVED FIXED
Product: GUPnP
Classification: Other
Component: gupnp
0.20.x
Other Linux
: Normal normal
: ---
Assigned To: GUPnP Maintainers
GUPnP Maintainers
ivi
Depends on:
Blocks:
 
 
Reported: 2013-03-28 10:31 UTC by Mark Ryan
Modified: 2013-04-05 10:40 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Add testcase for bgo#696762 (11.28 KB, patch)
2013-04-02 08:33 UTC, Jens Georg
committed Details | Review
Preserve argument order (6.63 KB, patch)
2013-04-02 08:33 UTC, Jens Georg
committed Details | Review

Description Mark Ryan 2013-03-28 10:31:34 UTC
This is fairly easy to reproduce.  Just start, gupnp-av-cp, and try to browse the contents of a WMP DMS.  You will be unable to browse and the following errors will appear in the console.

** (gupnp-av-cp:3892): WARNING **: Failed to browse 'http://127.0.0.1:61924/DeviceDescription.xml': Invalid args

** (gupnp-av-cp:3892): WARNING **: Failed to browse 'http://192.168.0.19:2869/upnphost/udhisapi.dll?content=uuid:286082b7-e061-45dc-99a4-c320555d3c7a': Invalid Args

** (gupnp-av-cp:3892): WARNING **: Failed to get metadata for '0': Invalid Args


After discussions on IRC it seems that the problem is that commit d80d05f inadvertently reorders the arguments of SOAP requests GUPnP sends to DMSs.  Most DMS don't seem to care about this but WMP does apparently.

So, for example, currently GUPnP is sending:

<s:Body>
<u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ObjectID>0</ObjectID>
<RequestedCount>0</RequestedCount>
<StartingIndex>0</StartingIndex>
<BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter>res,dc:date,res@size</Filter>
<SortCriteria></SortCriteria>
</u:Browse></s:Body></s:Envelope>


And it should be sending

<s:Body>
<u:Browse xmlns:u="urn:schemas-upnp-org:service:ContentDirectory:1">
<ObjectID>0</ObjectID>
<BrowseFlag>BrowseDirectChildren</BrowseFlag>
<Filter>res,dc:date,res@size</Filter>
<StartingIndex>0</StartingIndex>
<RequestedCount>0</RequestedCount>
<SortCriteria></SortCriteria>
</u:Browse></s:Body></s:Envelope>
Comment 1 Jens Georg 2013-03-28 10:49:13 UTC
Related bug: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=519464
Comment 2 Mark Ryan 2013-03-29 15:10:33 UTC
Incidentally, this bug also prevents GUPnP from working with MediaConnect on the iPhone.
Comment 3 Mark Ryan 2013-03-29 15:15:42 UTC
And TwonkyBeam
Comment 4 Jens Georg 2013-04-02 08:33:03 UTC
Created attachment 240361 [details] [review]
Add testcase for bgo#696762
Comment 5 Jens Georg 2013-04-02 08:33:10 UTC
Created attachment 240362 [details] [review]
Preserve argument order
Comment 6 Mark Ryan 2013-04-03 07:22:42 UTC
I tested the patch this morning and I can confirm that it fixes the compatibility problems with Windows Media Player in Windows 7.

Incidentally, I was unable to get gupnp-av-cp to use WMP as a DMR, i.e., to display an image hosted by WMP running on the same machine using gupnp-av-cp, but this seems to be a separate issue and is not caused by commit d80d05f, even though the error messages are similar.  I know this, as I reverted commit d80d05f and was still unable to display an image on WMP using gupnp-av-cp.  Note I was able to push an image to WMP's DMR using dLeyna.  I suspect this is not working in gupnp-av-cp as gupnp-av-cp is using gupnp_service_proxy_begin_action_hash.

In any case, this is a different bug.
Comment 7 Jens Georg 2013-04-05 10:40:02 UTC
Attachment 240362 [details] pushed as d2684ea - Preserve argument order