mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-18 22:36:33 +00:00
waylandsink: do not render twice the same buffer
Do not try to render a buffer that is already being rendered. This happens typically during the initial rendering stage as the first buffer is rendered twice: first by preroll(), then by render(). This commit avoids this assertion failure: CRITICAL: gst_wayland_compositor_acquire_buffer: assertion 'meta->used_by_compositor == FALSE' failed https://bugzilla.gnome.org/show_bug.cgi?id=738069 Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com> Signed-off-by: Benjamin Gaignard <benjamin.gaignard@linaro.org>
This commit is contained in:
parent
4395c02b96
commit
23bb5f5319
1 changed files with 6 additions and 0 deletions
|
@ -667,6 +667,12 @@ gst_wayland_sink_render (GstBaseSink * bsink, GstBuffer * buffer)
|
|||
}
|
||||
}
|
||||
|
||||
/* drop double rendering */
|
||||
if (G_UNLIKELY (to_render == sink->last_buffer)) {
|
||||
GST_LOG_OBJECT (sink, "Buffer already being rendered");
|
||||
goto done;
|
||||
}
|
||||
|
||||
gst_buffer_replace (&sink->last_buffer, to_render);
|
||||
render_last_buffer (sink);
|
||||
|
||||
|
|
Loading…
Reference in a new issue