From 42f5f3d1bead3a88eb687f150428876c794de8c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Mon, 19 Mar 2018 10:58:28 +0200 Subject: [PATCH] splitmuxsink: Allow splitting at exactly the time/bytes threshold 76e458a119926424e9dd5acf3210a592a314d713 changed the conditions from "queued > threshold" to "queued >= threshold", which broke hlssink2 and resulting in too small fragments being created although keyframes would be at *exactly* the configured threshold. https://bugzilla.gnome.org/show_bug.cgi?id=794440 --- gst/multifile/gstsplitmuxsink.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gst/multifile/gstsplitmuxsink.c b/gst/multifile/gstsplitmuxsink.c index be37933f0c..6ec436c293 100644 --- a/gst/multifile/gstsplitmuxsink.c +++ b/gst/multifile/gstsplitmuxsink.c @@ -1320,10 +1320,10 @@ need_new_fragment (GstSplitMuxSink * splitmux, if (g_atomic_int_get (&(splitmux->split_now)) == TRUE) return TRUE; - if (thresh_bytes > 0 && queued_bytes >= thresh_bytes) + if (thresh_bytes > 0 && queued_bytes > thresh_bytes) return TRUE; /* Would overrun byte limit */ - if (thresh_time > 0 && queued_time >= thresh_time) + if (thresh_time > 0 && queued_time > thresh_time) return TRUE; /* Would overrun byte limit */ /* Timecode-based threshold accounts for possible rounding errors: