export-dmabuf: Implement release semantics

This implements release semantics so that clients can hold onto buffers
while encoding.
This commit is contained in:
Andri Yngvason 2025-04-07 18:08:01 +00:00
parent a30c102163
commit cded7797f7
3 changed files with 18 additions and 6 deletions

View file

@ -36,14 +36,14 @@
interface version number is reset.
</description>
<interface name="zwlr_export_dmabuf_manager_v1" version="1">
<interface name="zwlr_export_dmabuf_manager_v1" version="2">
<description summary="manager to inform clients and begin capturing">
This object is a manager with which to start capturing from sources.
</description>
<request name="capture_output">
<description summary="capture a frame from an output">
Capture the next frame of a an entire output.
Capture the next frame of an entire output.
</description>
<arg name="frame" type="new_id" interface="zwlr_export_dmabuf_frame_v1"/>
<arg name="overlay_cursor" type="int"
@ -59,7 +59,7 @@
</request>
</interface>
<interface name="zwlr_export_dmabuf_frame_v1" version="1">
<interface name="zwlr_export_dmabuf_frame_v1" version="2">
<description summary="a DMA-BUF frame">
This object represents a single DMA-BUF frame.
@ -136,7 +136,7 @@
<arg name="stride" type="uint"
summary="line size in bytes"/>
<arg name="plane_index" type="uint"
summary="index of the the plane the data in the object applies to"/>
summary="index of the plane the data in the object applies to"/>
</event>
<event name="ready">
@ -195,6 +195,10 @@
Unreferences the frame. This request must be called as soon as its no
longer used.
Starting from version 2, this indicates that the client has finished
processing the frame. The client must not access the underlying buffer
after destroying the zwlr_export_dmabuf_frame_v1 object.
It can be called at any time by the client. The client will still have
to close any FDs it has been given.
</description>