multiqueue: Increase initial interleave growth rate
authorEdward Hervey <edward@centricular.com>
Thu, 5 May 2022 07:00:17 +0000 (09:00 +0200)
committerEdward Hervey <bilboed@bilboed.com>
Thu, 5 May 2022 07:02:05 +0000 (09:02 +0200)
In the case where not all streams have received any data, growing the interleave
by only 100ms is too restrictive and would cause some (valid) mpeg-ts streams to
hang.

Bump up the interleave growth rate for those use-cases to 500ms per input (still
up to the limit of 5s).

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2370>

subprojects/gstreamer/plugins/elements/gstmultiqueue.c

index e900520..ee12bd4 100644 (file)
@@ -1633,7 +1633,7 @@ calculate_interleave (GstMultiQueue * mq, GstSingleQueue * sq)
 
     /* Progressively grow up the interleave up to 5s if some streams were inactive */
     if (some_inactive && interleave <= mq->interleave) {
-      interleave = MIN (5 * GST_SECOND, mq->interleave + 100 * GST_MSECOND);
+      interleave = MIN (5 * GST_SECOND, mq->interleave + 500 * GST_MSECOND);
       do_update = TRUE;
     }