diff --git a/gst/multifile/gstsplitmuxpartreader.c b/gst/multifile/gstsplitmuxpartreader.c index 062be469f8..59ecb36f66 100644 --- a/gst/multifile/gstsplitmuxpartreader.c +++ b/gst/multifile/gstsplitmuxpartreader.c @@ -60,6 +60,7 @@ typedef struct _GstSplitMuxPartPad gboolean flushing; gboolean seen_buffer; + gboolean is_sparse; GstClockTime max_ts; GstSegment segment; @@ -341,6 +342,12 @@ splitmux_part_pad_event (GstPad * pad, GstObject * parent, GstEvent * event) goto drop_event; switch (GST_EVENT_TYPE (event)) { + case GST_EVENT_STREAM_START:{ + GstStreamFlags flags; + gst_event_parse_stream_flags (event, &flags); + part_pad->is_sparse = (flags & GST_STREAM_FLAG_SPARSE); + break; + } case GST_EVENT_SEGMENT:{ GstSegment *seg = &part_pad->segment;