qtdemux: preferably send open-ended segment rather than repeated segment events

This commit is contained in:
Mark Nauwelaerts 2017-07-19 12:38:03 +02:00
parent 854f85acb4
commit 7bd439efb5

View file

@ -3053,7 +3053,11 @@ check_update_duration (GstQTDemux * qtdemux, GstClockTime duration)
"Updating stream #%d duration to %" GST_TIME_FORMAT, i,
GST_TIME_ARGS (duration));
stream->duration = movdur;
if (stream->dummy_segment) {
/* internal duration tracking state has been updated above, so */
/* preserve an open-ended dummy segment rather than repeatedly updating
* it and spamming downstream accordingly with segment events */
if (stream->dummy_segment &&
GST_CLOCK_TIME_IS_VALID (stream->segments[0].duration)) {
/* Update all dummy values to new duration */
stream->segments[0].stop_time = duration;
stream->segments[0].duration = duration;