From 02bc614163dfc4818f74f3e75114872cbe504711 Mon Sep 17 00:00:00 2001 From: Youness Alaoui Date: Tue, 16 Aug 2011 19:51:34 +0000 Subject: [PATCH] tsbase: reinitiate segment at flush-stop event only --- gst/mpegtsdemux/mpegtsbase.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gst/mpegtsdemux/mpegtsbase.c b/gst/mpegtsdemux/mpegtsbase.c index 2a81f75939..c079b110ea 100644 --- a/gst/mpegtsdemux/mpegtsbase.c +++ b/gst/mpegtsdemux/mpegtsbase.c @@ -1186,8 +1186,14 @@ mpegts_base_sink_event (GstPad * pad, GstEvent * event) res = gst_mpegts_base_handle_eos (base); break; case GST_EVENT_FLUSH_START: - gst_segment_init (&base->segment, GST_FORMAT_UNDEFINED); mpegts_packetizer_flush (base->packetizer); + res = GST_MPEGTS_BASE_GET_CLASS (base)->push_event (base, event); + gst_event_unref (event); + break; + case GST_EVENT_FLUSH_STOP: + gst_segment_init (&base->segment, GST_FORMAT_UNDEFINED); + base->seen_pat = FALSE; + base->first_pat_offset = -1; /* Passthrough */ default: res = GST_MPEGTS_BASE_GET_CLASS (base)->push_event (base, event);