[Bug 797130] decklink: sometimes displays a flashed frame of a previously played sequence
GStreamer (GNOME Bugzilla)
bugzilla at gnome.org
Wed Sep 12 10:14:42 UTC 2018
https://bugzilla.gnome.org/show_bug.cgi?id=797130
--- Comment #3 from Matthew Waters (ystreet00) <ystreet00 at gmail.com> ---
(In reply to Sebastian Dröge (slomo) from comment #2)
> Review of attachment 373616 [details] [review]:
>
> 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?
Well, the element doesn't allow no clock in playing so I don't think that
really applies. The code doesn't actually sample from the external clock, only
from the internal clock which is not something I changed.
> @@ +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?
Maybe, it mostly happens from a previous run that I interrupted (Ctrl-C)
without a clean shutdown where we won't get a notification normally through the
associated callback.
> @@ +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?
Overall calculations without a clock are also fine. It will simply take the
internal clock values and not offset from the timestamps provided.
--
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