[Bug 797130] decklink: sometimes displays a flashed frame of a previously played sequence

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Sep 12 09:14:07 UTC 2018


https://bugzilla.gnome.org/show_bug.cgi?id=797130

Sebastian Dröge (slomo) <slomo at coaxion.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
 Attachment #373616|none                        |needs-work
             status|                            |

--- Comment #2 from Sebastian Dröge (slomo) <slomo at coaxion.net> ---
Review of attachment 373616:
 --> (https://bugzilla.gnome.org/review?bug=797130&attachment=373616)

Generally makes sense, just some comments. Also this code becomes constantly
more complicated, that's annoying :)

::: sys/decklink/gstdecklinkvideosink.cpp
@@ +537,2 @@
   clock = gst_element_get_clock (GST_ELEMENT_CAST (self));
+  if (!clock || clock != self->output->clock) {

Are you sure this even works without a clock in PLAYING?

@@ +618,3 @@
+
+  if (GST_CLOCK_TIME_IS_VALID (self->paused_start_time)) {
+    /* only valid whil we're in PAUSED and most likely without a set clock,

missing 'e' in while :)

@@ +928,3 @@
+      /* cause sometimes decklink stops without notifying us... */
+      guint64 wait_time = g_get_monotonic_time () + G_TIME_SPAN_SECOND;
+      g_cond_wait_until (&self->output->cond, &self->output->lock, wait_time);

Looks like this should get a separate commit?

@@ +956,3 @@
   // Sample the clocks again to get the most accurate values
   // after we started scheduled playback
+  if (clock) {

And otherwise? We would still do calculations without a clock or not?

@@ +997,3 @@
+      guint64 wait_time = g_get_monotonic_time () + G_TIME_SPAN_SECOND;
+      g_cond_wait_until (&self->output->cond, &self->output->lock, wait_time);
+      self->output->output->IsScheduledPlaybackRunning (&active);

Separate commit, as above

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list