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.
This commit is contained in:
Eric Zhang 2008-11-10 12:13:21 +00:00 committed by Wim Taymans
parent ff5c035554
commit 499c3e520e
2 changed files with 15 additions and 0 deletions

View file

@ -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:

View file

@ -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);