splitmuxsink: Allow splitting at exactly the time/bytes threshold
authorSebastian Dröge <sebastian@centricular.com>
Mon, 19 Mar 2018 08:58:28 +0000 (10:58 +0200)
committerSebastian Dröge <sebastian@centricular.com>
Mon, 19 Mar 2018 10:23:47 +0000 (12:23 +0200)
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

index be37933..6ec436c 100644 (file)
@@ -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: