Opened at 2025-02-19T15:06:35Z
Last modified at 2026-02-19T23:23:20Z
#1395 new todo
resolve integration of BufferProvider with DataSink
| Reported by: | Ichthyostega | Owned by: | |
|---|---|---|---|
| Priority: | grave | Milestone: | 0integration |
| Component: | lumieraSteam | Keywords: | render data interfaces cleanup |
| Sub Tickets: | #657, #824, #1367, #1410, #1415 | Parent Tickets: | #671, #713, #1287, #1308, #1369, #1396 |
Description
As a Lumiera developer,
I want to represent output buffers through BuffHandle,
so that I can use uniform buffer access in accordance to the Buffer Provider protocol
make two similar protocols congruent
Both the buffer handling and the output designation and data sink handling were defined around the same time, and both were defined in terms of a protocol (and both still seem largely adequate today). From the implementation perspective of media processing, it is irrelevant if the destination buffer is provided from a memory pool, is actually attached to the frame cache, or represents a data block tied to I/O — in all cases, the buffer must be provided exclusively, and marked complete when done.
But the default implementations for both frameworks do not mesh up well with that observation; notably the DataDink indeed exposes a BuffHandle, but expects it to be treated in a special way. It seems the default implementation is too tightly interconnected with the interface and protocol aspects here, making it impossible to let the BuffHandle act as an uniform proxy.
Acceptance Criteria
The existing Render Node invocation code can handle an OutputSink correctly, while just adhering to the Buffer Provider protocol
Change history (4)
comment:1 by , at 2025-12-25T00:00:00Z
| blockedby: | 657, 824, 1367 |
|---|---|
| blocking: | 671, 713, 1287, 1308, 1369, 1396 |
| Parent Tickets: | → 671, 713, 1287, 1308, 1369, 1396 |
| Sub Tickets: | → 657, 824, 1367 |
comment:2 by , at 2026-02-09T22:04:46Z
| Sub Tickets: | 657, 824, 1367 → 657, 824, 1367, 1410 |
|---|
comment:3 by , at 2026-02-19T23:17:42Z
| Sub Tickets: | 657, 824, 1367, 1410 → 657, 824, 1367, 1410, 1415 |
|---|
Add subticket #1415 (setup proxying through BufferProvider).

Add subticket #1410 (clean-up BufferProvider base implementation).