meta: add explicit sync metadata and data type

Change the GenericFd data type to SyncObj. It's probably better to
explicitly state the data type than to make something generic. Otherwise
we would need to transfer the specific fd type somewhere else and there
is no room for that in the buffer and the the metadata is not a good idea
either because it can be modified and corrupted at runtime.

Add the SyncTimeline metadata. This contains 2 points on two timelines
(SyncObj datas in the buffer). The buffer can be accessed when the
acquire_point is signaled on the timeline and when the buffer
can be released, the release_point on the timeline should be signaled.
This commit is contained in:
Wim Taymans 2024-04-25 09:55:19 +02:00
parent 31de44f679
commit 9bb5780cc2
6 changed files with 26 additions and 10 deletions

View file

@ -17,7 +17,7 @@ PWTEST(buffer_abi_types)
pwtest_int_eq(SPA_DATA_MemFd, 2);
pwtest_int_eq(SPA_DATA_DmaBuf, 3);
pwtest_int_eq(SPA_DATA_MemId, 4);
pwtest_int_eq(SPA_DATA_GenericFd, 5);
pwtest_int_eq(SPA_DATA_SyncObj, 5);
pwtest_int_eq(_SPA_DATA_LAST, 6);
/* meta */
@ -30,7 +30,8 @@ PWTEST(buffer_abi_types)
pwtest_int_eq(SPA_META_Control, 6);
pwtest_int_eq(SPA_META_Busy, 7);
pwtest_int_eq(SPA_META_VideoTransform, 8);
pwtest_int_eq(_SPA_META_LAST, 9);
pwtest_int_eq(SPA_META_SyncTimeline, 9);
pwtest_int_eq(_SPA_META_LAST, 10);
return PWTEST_PASS;
}