GNOME Bugzilla – Bug 676020
soup: Drop transferMode.dlna.org header
Last modified: 2012-05-25 08:26:37 UTC
Using no header is better than using the wrong header.
Created attachment 213990 [details] [review] soup: Drop transferMode.dlna.org header Leave it to the application to decide on the header. No header at all is better than having the wrong header as DLNA mandates that a missing header has to be tolerated while a wrong header is an error.
This was the commit that added it btw. Did the DLNA spec change since this commit (to not mandate the use of the header) or was the original bug wrong? commit af12e9eddac1c11f030ce2cc17bd5ca5fdd2d75e Author: Zeeshan Ali <zeeshanak@gnome.org> Date: Fri Nov 21 13:43:29 2008 +0000 ext/soup/gstsouphttpsrc.c: Add transferMode.dnla.org header to HTTP requests as this is required by the DLNA specs an... Original commit message from CVS: Patch by: Zeeshan Ali <zeeshanak at gnome dot org> * ext/soup/gstsouphttpsrc.c: (gst_soup_http_src_build_message): Add transferMode.dnla.org header to HTTP requests as this is required by the DLNA specs and doesn't hurt in other situations. Fixes bug #561802.
No, the spec didn't change. But it's more harmful to have the wrong one ("Streaming" instead of "Interactive", resulting in error 406) than to have none at all, which the DLNA spec allows for backward compatibility. The more fancy way would to do a HEAD request in the soupsrc and decide on the mime type and DLNA flags but I think it's overkill to do that in this element. If you like to rather have this, I'll provide a patch as well. I've changed rygel's player implementation to do a proper transfer mode decision its own and set the correct header in the source-setup signal of playbin via the extra-headers property.
Will it have any negative side effects to drop the header now?
I don't think so. Properly certified DLNA servers will select the proper streaming mode if the header is missing as this is defined in guideline 7.4.49.2 and also tested. Pure UPnP-AV servers should completely ignore that header anyway. It could be that faulty (non-certified, as this is checked during the certification) DLNA servers might complain about the missing header. Rygel's player of unpatched rygel versions would work better (i.e. it would "fix" bug 665779)
commit d0e8222d963f5b1a311648870a2cf2964f8dfd89 Author: Jens Georg <mail@jensge.org> Date: Mon May 14 12:46:57 2012 +0200 soup: Drop transferMode.dlna.org header Leave it to the application to decide on the header. No header at all is better than having the wrong header as DLNA mandates that a missing header has to be tolerated while a wrong header is an error. https://bugzilla.gnome.org/show_bug.cgi?id=676020