From 8ee1534b8079c63dcbe533f816f9dfd6a27446f2 Mon Sep 17 00:00:00 2001 From: Vivia Nikolaidou Date: Thu, 4 Jan 2018 15:41:44 +0200 Subject: [PATCH] Revert "decklinkaudiosrc: Extrapolate stream/hw reference timestamps when video frame is missing" This reverts commit 6af863916a7bf3bfe31970fdc2dd2d42ea3f9690. --- sys/decklink/gstdecklinkaudiosrc.cpp | 26 ++------------------------ sys/decklink/gstdecklinkaudiosrc.h | 1 - 2 files changed, 2 insertions(+), 25 deletions(-) diff --git a/sys/decklink/gstdecklinkaudiosrc.cpp b/sys/decklink/gstdecklinkaudiosrc.cpp index 887ad0ff2b..10fb1ed201 100644 --- a/sys/decklink/gstdecklinkaudiosrc.cpp +++ b/sys/decklink/gstdecklinkaudiosrc.cpp @@ -707,27 +707,6 @@ retry: // Detect gaps in stream time self->processed += sample_count; - if (self->expected_stream_time != GST_CLOCK_TIME_NONE - && p.stream_timestamp == GST_CLOCK_TIME_NONE && !p.no_signal) { - /* We missed a frame. Extrapolate the timestamps */ - p.stream_timestamp = self->expected_stream_time; - p.stream_duration = - gst_util_uint64_scale_int (sample_count, GST_SECOND, self->info.rate); - } - if (self->last_hardware_time != GST_CLOCK_TIME_NONE - && p.hardware_timestamp == GST_CLOCK_TIME_NONE && !p.no_signal) { - /* This should always happen when the previous one also does, but let's - * have two separate checks just in case */ - GstClockTime start_hw_offset, end_hw_offset; - start_hw_offset = - gst_util_uint64_scale (self->last_hardware_time, self->info.rate, - GST_SECOND); - end_hw_offset = start_hw_offset + sample_count; - p.hardware_timestamp = - gst_util_uint64_scale_int (end_hw_offset, GST_SECOND, self->info.rate); - /* Will be the same as the stream duration - reuse it */ - p.hardware_duration = p.stream_duration; - } if (p.stream_timestamp != GST_CLOCK_TIME_NONE) { GstClockTime start_stream_time, end_stream_time; @@ -755,15 +734,14 @@ retry: GST_FORMAT_TIME, timestamp); msg = - gst_message_new_qos (GST_OBJECT (self), TRUE, running_time, - p.stream_timestamp, timestamp, duration); + gst_message_new_qos (GST_OBJECT (self), TRUE, running_time, p.stream_timestamp, + timestamp, duration); gst_message_set_qos_stats (msg, GST_FORMAT_DEFAULT, self->processed, self->dropped); gst_element_post_message (GST_ELEMENT (self), msg); } self->expected_stream_time = end_stream_time; } - self->last_hardware_time = p.hardware_timestamp; if (p.no_signal) GST_BUFFER_FLAG_SET (*buffer, GST_BUFFER_FLAG_GAP); diff --git a/sys/decklink/gstdecklinkaudiosrc.h b/sys/decklink/gstdecklinkaudiosrc.h index 405da7ae50..c631d39e61 100644 --- a/sys/decklink/gstdecklinkaudiosrc.h +++ b/sys/decklink/gstdecklinkaudiosrc.h @@ -75,7 +75,6 @@ struct _GstDecklinkAudioSrc GstClockTime expected_stream_time; guint64 processed; guint64 dropped; - GstClockTime last_hardware_time; /* Last time we noticed a discont */ GstClockTime discont_time;