mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
Wait for vsync after reporting signal loss
This commit is contained in:
parent
fe13e5f211
commit
83eb812f06
1 changed files with 2 additions and 2 deletions
|
@ -1668,13 +1668,13 @@ restart:
|
||||||
if (current_video_format == ::NTV2_FORMAT_UNKNOWN) {
|
if (current_video_format == ::NTV2_FORMAT_UNKNOWN) {
|
||||||
GST_DEBUG_OBJECT(self, "No signal, waiting");
|
GST_DEBUG_OBJECT(self, "No signal, waiting");
|
||||||
g_mutex_unlock(&self->queue_lock);
|
g_mutex_unlock(&self->queue_lock);
|
||||||
self->device->device->WaitForInputVerticalInterrupt(self->channel);
|
|
||||||
frames_dropped_last = G_MAXUINT64;
|
frames_dropped_last = G_MAXUINT64;
|
||||||
if (have_signal) {
|
if (have_signal) {
|
||||||
GST_ELEMENT_WARNING(GST_ELEMENT(self), RESOURCE, READ, ("Signal lost"),
|
GST_ELEMENT_WARNING(GST_ELEMENT(self), RESOURCE, READ, ("Signal lost"),
|
||||||
("No input source was detected"));
|
("No input source was detected"));
|
||||||
have_signal = FALSE;
|
have_signal = FALSE;
|
||||||
}
|
}
|
||||||
|
self->device->device->WaitForInputVerticalInterrupt(self->channel);
|
||||||
g_mutex_lock(&self->queue_lock);
|
g_mutex_lock(&self->queue_lock);
|
||||||
continue;
|
continue;
|
||||||
} else if (current_video_format != effective_video_format &&
|
} else if (current_video_format != effective_video_format &&
|
||||||
|
@ -1686,13 +1686,13 @@ restart:
|
||||||
current_video_format, self->video_format,
|
current_video_format, self->video_format,
|
||||||
effective_video_format);
|
effective_video_format);
|
||||||
g_mutex_unlock(&self->queue_lock);
|
g_mutex_unlock(&self->queue_lock);
|
||||||
self->device->device->WaitForInputVerticalInterrupt(self->channel);
|
|
||||||
frames_dropped_last = G_MAXUINT64;
|
frames_dropped_last = G_MAXUINT64;
|
||||||
if (have_signal) {
|
if (have_signal) {
|
||||||
GST_ELEMENT_WARNING(GST_ELEMENT(self), RESOURCE, READ, ("Signal lost"),
|
GST_ELEMENT_WARNING(GST_ELEMENT(self), RESOURCE, READ, ("Signal lost"),
|
||||||
("Different input source was detected"));
|
("Different input source was detected"));
|
||||||
have_signal = FALSE;
|
have_signal = FALSE;
|
||||||
}
|
}
|
||||||
|
self->device->device->WaitForInputVerticalInterrupt(self->channel);
|
||||||
g_mutex_lock(&self->queue_lock);
|
g_mutex_lock(&self->queue_lock);
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue