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:
Wim Taymans 2016-12-20 16:51:57 +01:00
parent 8ce3f949e2
commit 5b0b9c43d0
18 changed files with 201 additions and 112 deletions

View file

@ -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 {