how to deal with the last video frame buffer (wl_buffer)?

Zhao, Halley halley.zhao at
Sun Sep 1 19:12:22 PDT 2013

When a wl_buffer (of video frame) is committed to wayland server, this buffer keeps being used by server until a second buffer is committed.
It means a wl_buffer isn't ready to destroy in frame callback, but wl_buffer_send_release(). And the buffer (in media pipeline) should also be retained for some time after it is committed to server side.

This expose additional questions for the last video buffer.

1.       Should we commit empty wl_buffer upon stopping of video playback?

a)         Does Weston support it ? (use empty buffer to replace previous committed buffer)

b)         If yes, is there any example to use it?

2.       When to destroy the event queue if it is used?

Usually media creates an event queue, wl_buffer is also set to this queue. It comes a question that when to destroy this event queue, since wl_buffer_send_release() (on this event queue) happens after media stop.

a)         Should we have an event like wl_surface_send_release() to give the chance to destroy this event queue?

b)         If not, then we have to destroy this event queue upon wl_buffer_send_release of the last buffer.

                         i.              Is it ok to destroy the event queue in the callback function of the event in this queue?

                       ii.              It creates complexity to sycn on the last buffer release event in media.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <>

More information about the wayland-devel mailing list