summaryrefslogtreecommitdiff
path: root/sys/decklink
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2020-12-16 18:32:25 +0200
committerGStreamer Merge Bot <gitlab-merge-bot@gstreamer-foundation.org>2020-12-17 09:00:24 +0000
commit70facfa8d32317678078f8b88fcc26b899df4c44 (patch)
tree9e0217a77edf33173090b00ec8315e3c284f6dc6 /sys/decklink
parent8af91be222c3c9cb7ed430cfe29b29ea148f290a (diff)
downloadgstreamer-plugins-bad-70facfa8d32317678078f8b88fcc26b899df4c44.tar.gz
decklinkaudiosrc: Fix duration of the first audio frame after each discont
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1886>
Diffstat (limited to 'sys/decklink')
-rw-r--r--sys/decklink/gstdecklinkaudiosrc.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp
index 5824f9087..7ebf0106c 100644
--- a/sys/decklink/gstdecklinkaudiosrc.cpp
+++ b/sys/decklink/gstdecklinkaudiosrc.cpp
@@ -654,6 +654,8 @@ retry:
// Convert to the sample numbers
start_offset =
gst_util_uint64_scale (start_time, self->info.rate, GST_SECOND);
+ // Convert back to round down to a sample multiple and get rid of rounding errors
+ start_time = gst_util_uint64_scale (start_offset, GST_SECOND, self->info.rate);
end_offset = start_offset + sample_count;
end_time = gst_util_uint64_scale_int (end_offset, GST_SECOND,