decklinkvideosrc: Fix scaling with rate of internal/external clock

This commit is contained in:
Sebastian Dröge 2015-02-27 11:07:34 +02:00
parent 2e5d6c3a3e
commit 72b440cc89

View file

@ -397,11 +397,11 @@ gst_decklink_video_src_convert_to_external_clock (GstDecklinkVideoSrc * self,
// For the duration we just scale // For the duration we just scale
if (internal > internal_timestamp) { if (internal > internal_timestamp) {
guint64 diff = internal - internal_timestamp; guint64 diff = internal - internal_timestamp;
diff = gst_util_uint64_scale (diff, rate_d, rate_n); diff = gst_util_uint64_scale (diff, rate_n, rate_d);
*timestamp = external - diff; *timestamp = external - diff;
} else { } else {
guint64 diff = internal_timestamp - internal; guint64 diff = internal_timestamp - internal;
diff = gst_util_uint64_scale (diff, rate_d, rate_n); diff = gst_util_uint64_scale (diff, rate_n, rate_d);
*timestamp = external + diff; *timestamp = external + diff;
} }