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 | |
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.
-rw-r--r-- | ChangeLog | 10 | ||||
-rw-r--r-- | gst/rtsp/gstrtspsrc.c | 5 |
2 files changed, 15 insertions, 0 deletions
@@ -1,3 +1,13 @@ +2008-11-10 Wim Taymans <wim.taymans@collabora.co.uk> + + 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. + 2008-11-05 Sebastian Dröge <sebastian.droege@collabora.co.uk> * gst/matroska/matroska-ids.h: 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); |