kmssink: fix performance issue by bypass frame sync
drm setplane will block on vblank before return.
it’s a sync call. So no need do frame sync in kmssink.
diff --git a/sys/kms/gstkmssink.c b/sys/kms/gstkmssink.c
index eb0dd0f..c1814c7 100644
--- a/sys/kms/gstkmssink.c
+++ b/sys/kms/gstkmssink.c
@@ -1709,7 +1709,8 @@
goto retry_set_plane;
}
goto set_plane_failed;
- }
+ } else
+ goto done;
sync_frame:
/* Wait for the previous frame to complete redraw */
@@ -1718,6 +1719,7 @@
goto bail;
}
+done:
if (buffer != self->last_buffer)
gst_buffer_replace (&self->last_buffer, buffer);
g_clear_pointer (&self->tmp_kmsmem, gst_memory_unref);