From 83eb812f063b24c2648652e877674d7eb9c7e47b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Wed, 18 Aug 2021 10:16:19 +0300 Subject: [PATCH] Wait for vsync after reporting signal loss --- gstajasrc.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gstajasrc.cpp b/gstajasrc.cpp index 91c1e1295e..7ed1689609 100644 --- a/gstajasrc.cpp +++ b/gstajasrc.cpp @@ -1668,13 +1668,13 @@ restart: if (current_video_format == ::NTV2_FORMAT_UNKNOWN) { GST_DEBUG_OBJECT(self, "No signal, waiting"); g_mutex_unlock(&self->queue_lock); - self->device->device->WaitForInputVerticalInterrupt(self->channel); frames_dropped_last = G_MAXUINT64; if (have_signal) { GST_ELEMENT_WARNING(GST_ELEMENT(self), RESOURCE, READ, ("Signal lost"), ("No input source was detected")); have_signal = FALSE; } + self->device->device->WaitForInputVerticalInterrupt(self->channel); g_mutex_lock(&self->queue_lock); continue; } else if (current_video_format != effective_video_format && @@ -1686,13 +1686,13 @@ restart: current_video_format, self->video_format, effective_video_format); g_mutex_unlock(&self->queue_lock); - self->device->device->WaitForInputVerticalInterrupt(self->channel); frames_dropped_last = G_MAXUINT64; if (have_signal) { GST_ELEMENT_WARNING(GST_ELEMENT(self), RESOURCE, READ, ("Signal lost"), ("Different input source was detected")); have_signal = FALSE; } + self->device->device->WaitForInputVerticalInterrupt(self->channel); g_mutex_lock(&self->queue_lock); continue; }