meta: add SPA_META_SYNC_TIMELINE_UNSCHEDULED_RELEASE

This flag is set by the producer and should be cleared by the consumer
when it promises to signal the release point.

When a consumer dequeues a buffer with the flag set, it should assume
the client is not going to signal the release point and so it should
reuse the buffer right away. This can only happen when the client
didn't dequeue the buffer at all (killed, timeout, error, ...) or when
it dequeued and queued the buffer without clearing the flag.

See #4885
This commit is contained in:
Wim Taymans 2025-09-10 12:11:18 +02:00
parent 839383d0dd
commit 67a541eac5

View file

@ -184,6 +184,9 @@ struct spa_meta_videotransform {
* layout with 2 extra fds.
*/
struct spa_meta_sync_timeline {
#define SPA_META_SYNC_TIMELINE_UNSCHEDULED_RELEASE (1<<0) /**< this flag is set by the producer and cleared
* by the consumer when it promises to signal
* the release point */
uint32_t flags;
uint32_t padding;
uint64_t acquire_point; /**< the timeline acquire point, this is when the data