diff --git a/subprojects/gst-integration-testsuites/testsuites/validate/dash/seek_with_stop_between_fragments/flow-expectations/log-i-sink-expected b/subprojects/gst-integration-testsuites/testsuites/validate/dash/seek_with_stop_between_fragments/flow-expectations/log-i-sink-expected index 64a26a120f..75b53a14cd 100644 --- a/subprojects/gst-integration-testsuites/testsuites/validate/dash/seek_with_stop_between_fragments/flow-expectations/log-i-sink-expected +++ b/subprojects/gst-integration-testsuites/testsuites/validate/dash/seek_with_stop_between_fragments/flow-expectations/log-i-sink-expected @@ -1,6 +1,6 @@ event stream-start: GstEventStreamStart, flags=(GstStreamFlags)GST_STREAM_FLAG_NONE, group-id=(uint)1, stream=(GstStream)"\(GstStream\)\ ecf1ea12b198caea123f05f4fcb08daa35ee5045577d2be98f3424c0ce90757a/video-0"; event caps: video/x-raw, colorimetry=(string)2:4:0:0, format=(string)I420, framerate=(fraction)0/1, height=(int)446, interlace-mode=(string)progressive, multiview-flags=(GstVideoMultiviewFlagsSet)0:ffffffff:/right-view-first/left-flipped/left-flopped/right-flipped/right-flopped/half-aspect/mixed-mono, multiview-mode=(string)mono, pixel-aspect-ratio=(fraction)1/1, width=(int)928; -event segment: format=TIME, start=0:00:00.014000000, offset=0:00:00.000000000, stop=none, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.000000000 +event segment: format=TIME, start=0:00:00.000000000, offset=0:00:00.000000000, stop=none, time=0:00:00.000000000, base=0:00:00.000000000, position=0:00:00.000000000 event stream-collection: stream-collection, collection=(GstStreamCollection)"\(GstStreamCollection\)\ streamcollection0"; buffer: content-id=0, pts=0:00:00.014000000, flags=discont, meta=GstVideoMeta event flush-start: (no structure) diff --git a/subprojects/gst-plugins-good/gst/matroska/matroska-demux.c b/subprojects/gst-plugins-good/gst/matroska/matroska-demux.c index ab49752669..ee2699c8f0 100644 --- a/subprojects/gst-plugins-good/gst/matroska/matroska-demux.c +++ b/subprojects/gst-plugins-good/gst/matroska/matroska-demux.c @@ -6242,11 +6242,6 @@ gst_matroska_demux_handle_sink_event (GstPad * pad, GstObject * parent, "received format %d segment %" GST_SEGMENT_FORMAT, segment->format, segment); - if (demux->common.state < GST_MATROSKA_READ_STATE_DATA) { - GST_DEBUG_OBJECT (demux, "still starting"); - goto exit; - } - if (segment->format == GST_FORMAT_TIME) { demux->upstream_format_is_time = TRUE; demux->segment_seqnum = gst_event_get_seqnum (event); @@ -6256,6 +6251,11 @@ gst_matroska_demux_handle_sink_event (GstPad * pad, GstObject * parent, goto exit; } + if (demux->common.state < GST_MATROSKA_READ_STATE_DATA) { + GST_DEBUG_OBJECT (demux, "still starting"); + goto exit; + } + demux->upstream_format_is_time = FALSE; /* we only expect a BYTE segment, e.g. following a seek */