mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-03 09:01:54 -05:00
Improve upload
Only send a buffer when we have received a NEED_DATA message. Add a signal to pulla buffer from the sink. Restructure the sink to use a queue like the source and only push a buffer when we can. Improve SpaData. Offset and size should be between 0 and maxsize, make sure we clamp correctly when needed. node_process_output completes the processing of the output after receiving HAVE_OUTPUT for async elements. It instructs the node that it now can produce more output.
This commit is contained in:
parent
8ce3f949e2
commit
5b0b9c43d0
18 changed files with 201 additions and 112 deletions
|
|
@ -324,10 +324,10 @@ alloc_buffers (PinosLink *this,
|
|||
d->type = SPA_DATA_TYPE_MEMFD;
|
||||
d->flags = 0;
|
||||
d->fd = mem->fd;
|
||||
d->offset = 0;
|
||||
d->size = mem->size;
|
||||
d->data = mem->ptr;
|
||||
d->chunk->offset = SPA_PTRDIFF (ddp, d->data);
|
||||
d->mapoffset = SPA_PTRDIFF (ddp, mem->ptr);
|
||||
d->maxsize = data_sizes[j];
|
||||
d->data = SPA_MEMBER (mem->ptr, d->mapoffset, void);
|
||||
d->chunk->offset = 0;
|
||||
d->chunk->size = data_sizes[j];
|
||||
d->chunk->stride = data_strides[j];
|
||||
ddp += data_sizes[j];
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue