From 3b7e0d7de32f0728259d601daa13b9eeec3dd3ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 26 Aug 2016 15:48:36 +0300 Subject: [PATCH] decklinkvideosink: Scale down scheduled frame times to milliseconds Scale down to milliseconds, otherwise at least some hardware has problems scheduling the frames (or schedules them too slow) and we run out of available frames. https://bugzilla.gnome.org/show_bug.cgi?id=770282 --- sys/decklink/gstdecklinkvideosink.cpp | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/sys/decklink/gstdecklinkvideosink.cpp b/sys/decklink/gstdecklinkvideosink.cpp index 7b842e6fb8..6f6f9446c7 100644 --- a/sys/decklink/gstdecklinkvideosink.cpp +++ b/sys/decklink/gstdecklinkvideosink.cpp @@ -645,8 +645,13 @@ gst_decklink_video_sink_prepare (GstBaseSink * bsink, GstBuffer * buffer) " with duration %" GST_TIME_FORMAT, frame, GST_TIME_ARGS (running_time), GST_TIME_ARGS (running_time_duration)); + /* FIXME: Scale down to milliseconds, otherwise at least some hardware + * has problems scheduling the frames (or schedules them too slow) and we + * run out of available frames: + * https://bugzilla.gnome.org/show_bug.cgi?id=770282 + */ ret = self->output->output->ScheduleVideoFrame (frame, - running_time, running_time_duration, GST_SECOND); + running_time / GST_MSECOND, running_time_duration / GST_MSECOND, GST_MSECOND); if (ret != S_OK) { GST_ELEMENT_ERROR (self, STREAM, FAILED, (NULL), ("Failed to schedule frame: 0x%08x", ret));