From 734548a34fbb6679dc6b7c568b2cceb2a903a2dc Mon Sep 17 00:00:00 2001 From: Mark Nauwelaerts Date: Thu, 30 Apr 2009 10:19:27 +0200 Subject: rtspsrc: also set base_time on src after flush timestamps following flush/seek should be consistent between UDP and TCP interleaved case. Fixes #580851.(b). --- gst/rtsp/gstrtspsrc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gst/rtsp') diff --git a/gst/rtsp/gstrtspsrc.c b/gst/rtsp/gstrtspsrc.c index 4d786de5..b80ecead 100644 --- a/gst/rtsp/gstrtspsrc.c +++ b/gst/rtsp/gstrtspsrc.c @@ -1317,11 +1317,12 @@ gst_rtspsrc_flush (GstRTSPSrc * src, gboolean flush) gst_rtspsrc_push_event (src, event); gst_rtspsrc_loop_send_cmd (src, cmd, flush); - /* */ + /* make running time start start at 0 again */ for (walk = src->streams; walk; walk = g_list_next (walk)) { GstRTSPStream *stream = (GstRTSPStream *) walk->data; for (i = 0; i < 2; i++) { + /* for udp case */ if (stream->udpsrc[i]) { if (base_time != -1) gst_element_set_base_time (stream->udpsrc[i], base_time); @@ -1329,6 +1330,9 @@ gst_rtspsrc_flush (GstRTSPSrc * src, gboolean flush) } } } + /* for tcp interleaved case */ + if (base_time != -1) + gst_element_set_base_time (GST_ELEMENT_CAST (src), base_time); } static GstRTSPResult -- cgit