audiostreamalign: Don't report disconts for every buffer if alignment-threshold is...
authorSebastian Dröge <sebastian@centricular.com>
Thu, 14 Nov 2024 13:58:58 +0000 (15:58 +0200)
committerBackport Bot <gitlab-backport-bot@gstreamer-foundation.org>
Sat, 16 Nov 2024 01:26:01 +0000 (01:26 +0000)
If it is too small, the maximum allowed diff becomes 0 samples which would then
trigger if there is no discontinuity at all.

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

subprojects/gst-plugins-base/gst-libs/gst/audio/gstaudiostreamalign.c

index 89d98810693a76edbfd7763464c5b6c4062c6b6d..adcad52156f513ec381b5d5a9c35245b8389ec5a 100644 (file)
@@ -383,9 +383,9 @@ gst_audio_stream_align_process (GstAudioStreamAlign * align,
         gst_util_uint64_scale (align->next_offset, GST_SECOND,
         ABS (align->rate));
 
-    max_sample_diff =
+    max_sample_diff = MAX (1,
         gst_util_uint64_scale_int (align->alignment_threshold,
-        ABS (align->rate), GST_SECOND);
+            ABS (align->rate), GST_SECOND));
 
     /* Discont! */
     if (G_UNLIKELY (diff >= max_sample_diff)) {