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 669746 - rtspsrc enhancement with events
rtspsrc enhancement with events
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal enhancement
: git master
Assigned To: Levente Farkas
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-02-09 13:02 UTC by Levente Farkas
Modified: 2018-11-03 14:45 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Levente Farkas 2012-02-09 13:02:04 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.
Comment 1 Wim Taymans 2012-02-09 13:47:54 UTC
(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.
Comment 2 Levente Farkas 2012-02-09 14:02:07 UTC
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?
Comment 3 Levente Farkas 2012-02-09 14:03:03 UTC
and what kind of SET_PARAMETER do you suggest for NAVIGATION?
Comment 4 David Schleef 2012-02-22 03:10:40 UTC
Wim, please comment if you have ideas.

Moving to NEW, assigning to submitter.
Comment 5 Wim Taymans 2013-10-04 05:03:06 UTC
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>
Comment 6 GStreamer system administrator 2018-11-03 14:45:45 UTC
-- 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.