Go to the documentation of this file.
19 #ifndef FFTOOLS_THREAD_QUEUE_H
20 #define FFTOOLS_THREAD_QUEUE_H
81 #endif // FFTOOLS_THREAD_QUEUE_H
int tq_send(ThreadQueue *tq, unsigned int stream_idx, void *data)
Send an item for the given stream to the queue.
void tq_send_finish(ThreadQueue *tq, unsigned int stream_idx)
Mark the given stream finished from the sending side.
it s the only field you need to keep assuming you have a context There is some magic you don t need to care about around this just let it vf type
void tq_receive_finish(ThreadQueue *tq, unsigned int stream_idx)
Mark the given stream finished from the receiving side.
void tq_free(ThreadQueue **tq)
int tq_receive(ThreadQueue *tq, int *stream_idx, void *data)
Read the next item from the queue.
ThreadQueue * tq_alloc(unsigned int nb_streams, size_t queue_size, enum ThreadQueueType type)
Allocate a queue for sending data between threads.