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 772043 - rtsp real extensions make some rtsp streams unplayable
rtsp real extensions make some rtsp streams unplayable
Status: RESOLVED DUPLICATE of bug 774806
Product: GStreamer
Classification: Platform
Component: gst-plugins-ugly
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2016-09-27 10:14 UTC by Nicola
Modified: 2018-02-16 12:05 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Don't send the User-Agent when header is empty (976 bytes, patch)
2018-02-16 12:05 UTC, James Stevenson
none Details | Review

Description Nicola 2016-09-27 10:14:09 UTC
If libgstrmdemux.so plugin is installed gstreamer add rtsp real headers on each rtsp request, some camera does not manage correctly these headers and respond with status code 400 to the rstp requests,

removing libgstrmdemux.so the rtsp stream can be played,

I think these extensions should be explicitally set with a property, actually they are ever set if libgstrmdemux.so is found
Comment 1 Tim-Philipp Müller 2016-09-27 11:47:17 UTC
Have you tried setting the rank of the rtspreal plugin feature to NONE?

The problem is if you make it opt-in, other RTSP streams (windows media server, real servers) don't work.

Did you check the spec to see whose fault it is? I'd expect it to say the cameras should ignore extra headers, but didn't check.
Comment 2 Nicola 2016-09-27 11:55:40 UTC
(In reply to Tim-Philipp Müller from comment #1)
> Have you tried setting the rank of the rtspreal plugin feature to NONE?

the rank is marginal, do you mean set the rank in my own app?

> 
> The problem is if you make it opt-in, other RTSP streams (windows media
> server, real servers) don't work.

OK

> 
> Did you check the spec to see whose fault it is? I'd expect it to say the
> cameras should ignore extra headers, but didn't check.

the camera should ignore these headers, anyway all Panasonic camera reply with 400 instead, not a big problem for me (I don't need ugly plugin and so the problem appear only on my desktop when I do some tests), this bug is only to let you know this issue.

Probably a note in the docs in enough
Comment 3 Sebastian Dröge (slomo) 2016-09-28 07:38:26 UTC
Maybe we can add a property to rtspsrc to make it do only plain RTSP
Comment 4 Tim-Philipp Müller 2016-09-28 07:51:16 UTC
This is sent at the very beginning, right? So we can't special-case based on vendor strings?
Comment 5 Nicola 2016-11-14 14:43:16 UTC
(In reply to Tim-Philipp Müller from comment #4)
> This is sent at the very beginning, right? So we can't special-case based on
> vendor strings?

yes it is sent at the very beginning, in the first request, do you want a property as suggested by Sebastian?
Comment 6 Tim-Philipp Müller 2016-11-14 14:54:46 UTC
A property would be an acceptable workaround for me, but I consider these cameras broken, so by default we would still want to send the extra headers IMO.
Comment 7 googolp 2017-05-04 19:34:45 UTC
To be more specific about "add rtsp real headers", the request contains two user agent strings:
User-Agent: GStreamer/1.8.3
User-Agent: RealMedia Player Version 6.0.9.1235 (linux-2.0-libc6-i386-gcc2.95)

I think this is technically allowed in RTSP?

Removing either one will make the request work.
Comment 8 Sebastian Dröge (slomo) 2017-05-08 13:06:21 UTC
Ok, that's a duplicate of bug #774806 then. Let's continue discussions there. Do you want to provide a patch? Some ideas are already in the other bug

*** This bug has been marked as a duplicate of bug 774806 ***
Comment 9 James Stevenson 2018-02-16 12:05:02 UTC
Created attachment 368413 [details] [review]
Don't send the User-Agent when header is empty


If we don't send the User-Agent if the rtspsrc user-agent is set to empty. Then the extenstion is free to add the user agent.

Though I think we should have the ability to also disable the User-Agent anyway.

However this assumes there is only one extenstion. So probably an extenstion disable patch for rtspsrc is to follow.