From 4d07974b103be7b15d3a95cf9703062efed8b683 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 14 Jan 2021 14:37:32 +0200 Subject: [PATCH] decklinkaudiosrc: Allow disabling audio sample alignment code by setting the alignment-threshold to 0 And handle setting it to GST_CLOCK_TIME_NONE as always aligning without ever detecting a discont. Part-of: --- sys/decklink/gstdecklinkaudiosrc.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp index 7ebf010..41e4f85 100644 --- a/sys/decklink/gstdecklinkaudiosrc.cpp +++ b/sys/decklink/gstdecklinkaudiosrc.cpp @@ -679,7 +679,9 @@ retry: GST_SECOND); // Discont! - if (G_UNLIKELY (diff >= max_sample_diff)) { + if (self->alignment_threshold > 0 + && self->alignment_threshold != GST_CLOCK_TIME_NONE + && G_UNLIKELY (diff >= max_sample_diff)) { if (self->discont_wait > 0) { if (self->discont_time == GST_CLOCK_TIME_NONE) { self->discont_time = start_time; @@ -706,6 +708,8 @@ retry: self->next_offset = end_offset; // Got a discont and adjusted, reset the discont_time marker. self->discont_time = GST_CLOCK_TIME_NONE; + } else if (self->alignment_threshold == 0) { + // Don't align, just pass through timestamps } else { // No discont, just keep counting timestamp = -- 2.7.4