GNOME Bugzilla – Bug 669746
rtspsrc enhancement with events
Last modified: 2018-11-03 14:45:45 UTC
hi, currently the rtspsrc in gstreamer are not able to handle any kind of play related events except seek. even seek was implemented at the rtsp level (send a pause then seek and play). all other events are dropped in http://cgit.freedesktop.org/gstreamer/gst-plugins-good/tree/gst/rtsp/gstrtspsrc.c in gst_rtspsrc_handle_src_event then in gst_rtspsrc_handle_internal_src_event function which simple drop these events. we'd like to implement at least SEEK, RATE, STEP and NAVIGATION event in rtspsrc to be able to send these events through rtspsrc and the server get it. so we'd like to play with different rate, backward and frame by frame through rtsp. and if the server implements it than it can handle it. (of course we'd like to implement the server side too). of course we'd like to add the patches to gstreamer, but before we start to implement it we'd like to ask core gstreamer developers which would be the preferred way you ie. how to implement it to be easily accepted by you to inclusion. we thought the best would be to send these events through the rtcp protocol which is something for it. we'd like to do it first in the 0.10 branch. what do you think about it? thanks in advance.
(In reply to comment #0) > we thought the best would be to send these events through the rtcp > protocol which is something for it. SEEK (and rate changes) can be implemented with a modified PLAY request. The STEP event is only handled in the sinks in GStreamer, you can't use it to step from the source. NAVIGATION events could be sent using a custom mime-type and SET_PARAMTER, RTCP is not very well suited for this.
when we use local pipeline (ie no network in it) then we can use the gst_event_new_step to do step-by-step play. we'd like to implement the same through rtsp. how should we implement it?
and what kind of SET_PARAMETER do you suggest for NAVIGATION?
Wim, please comment if you have ideas. Moving to NEW, assigning to submitter.
Something like: request line: method: 'SET_PARAMETER' uri: 'rtsp://foo.com/media' version: '1.0' headers: key: 'Content-Type', value: 'text/parameters' key: 'Server', value: 'GStreamer RTSP server' key: 'Session', value: '4sgW4FVOwgHrmxkp' x-gst-navigation: <serialized navigation event>
-- GitLab Migration Automatic Message -- This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity. You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/57.