mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-11 18:05:37 +00:00
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:
parent
ff5c035554
commit
499c3e520e
2 changed files with 15 additions and 0 deletions
10
ChangeLog
10
ChangeLog
|
@ -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>
|
2008-11-05 Sebastian Dröge <sebastian.droege@collabora.co.uk>
|
||||||
|
|
||||||
* gst/matroska/matroska-ids.h:
|
* gst/matroska/matroska-ids.h:
|
||||||
|
|
|
@ -1321,6 +1321,8 @@ gst_rtspsrc_perform_seek (GstRTSPSrc * src, GstEvent * event)
|
||||||
if ((stop = seeksegment.stop) == -1)
|
if ((stop = seeksegment.stop) == -1)
|
||||||
stop = seeksegment.duration;
|
stop = seeksegment.duration;
|
||||||
|
|
||||||
|
gst_rtspsrc_pause (src);
|
||||||
|
|
||||||
res = gst_rtspsrc_do_seek (src, &seeksegment);
|
res = gst_rtspsrc_do_seek (src, &seeksegment);
|
||||||
|
|
||||||
/* prepare for streaming again */
|
/* 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);
|
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 */
|
/* we keep this playing always */
|
||||||
gst_element_set_locked_state (stream->udpsink, TRUE);
|
gst_element_set_locked_state (stream->udpsink, TRUE);
|
||||||
gst_element_set_state (stream->udpsink, GST_STATE_PLAYING);
|
gst_element_set_state (stream->udpsink, GST_STATE_PLAYING);
|
||||||
|
|
Loading…
Reference in a new issue