mirror of
https://gitlab.freedesktop.org/pipewire/pipewire.git
synced 2025-11-14 06:59:57 -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
|
|
@ -89,6 +89,7 @@ struct _GstPinosSink {
|
|||
PinosListener stream_add_buffer;
|
||||
PinosListener stream_remove_buffer;
|
||||
PinosListener stream_new_buffer;
|
||||
PinosListener stream_need_buffer;
|
||||
|
||||
GstAllocator *allocator;
|
||||
GstStructure *properties;
|
||||
|
|
@ -96,6 +97,8 @@ struct _GstPinosSink {
|
|||
|
||||
GstPinosPool *pool;
|
||||
GHashTable *buf_ids;
|
||||
GQueue queue;
|
||||
guint need_ready;
|
||||
};
|
||||
|
||||
struct _GstPinosSinkClass {
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue