diff options
author | Eric Zhang <chao.zhang@access-company.com> | 2008-11-10 12:13:21 +0000 |
---|---|---|
committer | Wim Taymans <wim.taymans@gmail.com> | 2008-11-10 12:13:21 +0000 |
commit | 499c3e520e58f13dec33874797fd922e953ae157 (patch) | |
tree | 2067f7702e736b384c86d8a7a16e7a8cb500e3b2 /gst/rtsp | |
parent | ff5c03555467d44f66c4112500f57011872a87c0 (diff) |
gst/rtsp/gstrtspsrc.c: Pause the RTSP stream before doing a new play request.
Original commit message from CVS:
Based on patch by: Eric Zhang <chao.zhang at access-company dot com>
* gst/rtsp/gstrtspsrc.c: (gst_rtspsrc_perform_seek),
(gst_rtspsrc_stream_configure_udp_sink):
Pause the RTSP stream before doing a new play request.
Make sure that adding the udpsinks does not cause the rtspsrc to become
a sink. Fixes #559547.
Diffstat (limited to 'gst/rtsp')
-rw-r--r-- | gst/rtsp/gstrtspsrc.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 02f784c0..ae50606e 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -1321,6 +1321,8 @@ gst_rtspsrc_perform_seek (GstRTSPSrc * src, GstEvent * event) if ((stop = seeksegment.stop) == -1) stop = seeksegment.duration; + gst_rtspsrc_pause (src); + res = gst_rtspsrc_do_seek (src, &seeksegment); /* prepare for streaming again */ @@ -2099,6 +2101,9 @@ gst_rtspsrc_stream_configure_udp_sink (GstRTSPSrc * src, GstRTSPStream * stream, g_object_set (G_OBJECT (stream->udpsink), "closefd", FALSE, NULL); } + /* we don't want to consider this a sink */ + GST_OBJECT_FLAG_UNSET (stream->udpsink, GST_ELEMENT_IS_SINK); + /* we keep this playing always */ gst_element_set_locked_state (stream->udpsink, TRUE); gst_element_set_state (stream->udpsink, GST_STATE_PLAYING); |