From 499c3e520e58f13dec33874797fd922e953ae157 Mon Sep 17 00:00:00 2001 From: Eric Zhang Date: Mon, 10 Nov 2008 12:13:21 +0000 Subject: 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 * 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. --- gst/rtsp/gstrtspsrc.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'gst') 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); -- cgit