summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2015-01-28 12:20:05 +0100
committerSebastian Dröge <sebastian@centricular.com>2015-01-28 16:13:16 +0100
commitb3a4772834ed16d48ee0bd79f686581b2d0172e5 (patch)
tree0facc9aebbd99497790de9f3969fd9ef8aae545f /sys
parent8a5d2c561cdb38d49e9de9f933b48eef409412f7 (diff)
downloadgstreamer-plugins-bad-b3a4772834ed16d48ee0bd79f686581b2d0172e5.tar.gz
decklinkvideosink: Handle the clock returning GST_CLOCK_TIME_NONE properly
Diffstat (limited to 'sys')
-rw-r--r--sys/decklink/gstdecklinkvideosink.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp
index daa0208d9..abaa5453e 100644
--- a/sys/decklink/gstdecklinkvideosink.cpp
+++ b/sys/decklink/gstdecklinkvideosink.cpp
@@ -422,11 +422,13 @@ gst_decklink_video_sink_prepare (GstBaseSink * bsink, GstBuffer * buffer)
// potentially overflowing the internal queue of the hardware
clock = gst_element_get_clock (GST_ELEMENT_CAST (self));
if (clock) {
- GstClockTime clock_running_time, latency, max_lateness;
+ GstClockTime clock_running_time, base_time, clock_time, latency,
+ max_lateness;
- clock_running_time = gst_element_get_base_time (GST_ELEMENT_CAST (self));
- if (clock_running_time != GST_CLOCK_TIME_NONE) {
- clock_running_time = gst_clock_get_time (clock) - clock_running_time;
+ base_time = gst_element_get_base_time (GST_ELEMENT_CAST (self));
+ clock_time = gst_clock_get_time (clock);
+ if (base_time != GST_CLOCK_TIME_NONE && clock_time != GST_CLOCK_TIME_NONE) {
+ clock_running_time = clock_time - base_time;
latency = gst_base_sink_get_latency (GST_BASE_SINK_CAST (self));
max_lateness = gst_base_sink_get_max_lateness (GST_BASE_SINK_CAST (self));