GNOME Bugzilla – Bug 709191
query in control URLs does not work
Last modified: 2014-02-25 22:29:05 UTC
A query in the describe url is not copied to the stream control urls and if it is done by a subclass it does not really work since handle_setup_request() does not copy it to the path when trying to find the stream, which results in 404 Not Found.
Created attachment 256189 [details] [review] Add query to control path If the SETUP url contains a query it must be appended to the control path so that it matches any already created stream in the media. The query will also be appended to the session media path.
Created attachment 256190 [details] [review] Append query to control Includes check test
commit 1742399e2369eebf5744d493b8a3c9a3f8d9bf7c Author: Jonas Holmberg <jonashg@axis.com> Date: Tue Oct 1 14:04:17 2013 +0200 client: Add query to control path If the SETUP url contains a query it must be appended to the control path so that it matches any already created stream in the media. The query will also be appended to the session media path.
The second path does not make sense to me. If the control url ends up in the SDP as foo?bar then the client will pass that query to the SETUP and we should use the complete control to identify the stream. For example, I can make 2 streams with the following control urls: audio?language=nl and audio?language=fr. For this, you need to explicitly set the control url in the streams with gst_rtsp_stream_set_control(). You patch changes the default name of the stream to return something different depending on the query and then it uses a bug (?) of the control compare function where it only checks the first part of the url (stream=%u).
OK. I'm fine with implementing that in a subclass instead. And now with d4b8a8249c1826c1074bcd5b12973d442057a94b it would also be possible to use different facories with the same path (but different query) by making make_path_from_uri() virtual instead of having to create different paths in ::make_path() when the aggregate control url is created.
commit 8ce453d97d5a986f68cf34a57b0d663539634614 Author: Patricia Muscalu <patricia@axis.com> Date: Thu Nov 7 13:22:09 2013 +0100 client: make make_path_from_uri a vmethod