summaryrefslogtreecommitdiff
path: root/sys/decklink/gstdecklinkvideosrc.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sys/decklink/gstdecklinkvideosrc.cpp')
-rw-r--r--sys/decklink/gstdecklinkvideosrc.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/decklink/gstdecklinkvideosrc.cpp b/sys/decklink/gstdecklinkvideosrc.cpp
index f15527bda..915393eaf 100644
--- a/sys/decklink/gstdecklinkvideosrc.cpp
+++ b/sys/decklink/gstdecklinkvideosrc.cpp
@@ -645,6 +645,7 @@ gst_decklink_video_src_open (GstDecklinkVideoSrc * self)
self->input->got_video_frame = gst_decklink_video_src_got_frame;
self->input->start_streams = gst_decklink_video_src_start_streams;
self->input->clock_start_time = GST_CLOCK_TIME_NONE;
+ self->input->clock_epoch += self->input->clock_last_time;
self->input->clock_last_time = 0;
self->input->clock_offset = 0;
g_mutex_unlock (&self->input->lock);
@@ -752,6 +753,7 @@ gst_decklink_video_src_change_state (GstElement * element,
case GST_STATE_CHANGE_READY_TO_PAUSED:
g_mutex_lock (&self->input->lock);
self->input->clock_start_time = GST_CLOCK_TIME_NONE;
+ self->input->clock_epoch += self->input->clock_last_time;
self->input->clock_last_time = 0;
self->input->clock_offset = 0;
g_mutex_unlock (&self->input->lock);
@@ -790,6 +792,7 @@ gst_decklink_video_src_change_state (GstElement * element,
gst_clock_set_calibration (self->input->clock, 0, 0, 1, 1);
g_mutex_lock (&self->input->lock);
self->input->clock_start_time = GST_CLOCK_TIME_NONE;
+ self->input->clock_epoch += self->input->clock_last_time;
self->input->clock_last_time = 0;
self->input->clock_offset = 0;
g_mutex_unlock (&self->input->lock);