| FFmpeg 7.1.2
    | 
Go to the source code of this file.
| Typedefs | |
| typedef struct AVThreadMessageQueue | AVThreadMessageQueue | 
| Enumerations | |
| enum | AVThreadMessageFlags { AV_THREAD_MESSAGE_NONBLOCK = 1 } | 
| Functions | |
| int | av_thread_message_queue_alloc (AVThreadMessageQueue **mq, unsigned nelem, unsigned elsize) | 
| Allocate a new message queue. | |
| void | av_thread_message_queue_free (AVThreadMessageQueue **mq) | 
| Free a message queue. | |
| int | av_thread_message_queue_send (AVThreadMessageQueue *mq, void *msg, unsigned flags) | 
| Send a message on the queue. | |
| int | av_thread_message_queue_recv (AVThreadMessageQueue *mq, void *msg, unsigned flags) | 
| Receive a message from the queue. | |
| void | av_thread_message_queue_set_err_send (AVThreadMessageQueue *mq, int err) | 
| Set the sending error code. | |
| void | av_thread_message_queue_set_err_recv (AVThreadMessageQueue *mq, int err) | 
| Set the receiving error code. | |
| void | av_thread_message_queue_set_free_func (AVThreadMessageQueue *mq, void(*free_func)(void *msg)) | 
| Set the optional free message callback function which will be called if an operation is removing messages from the queue. | |
| int | av_thread_message_queue_nb_elems (AVThreadMessageQueue *mq) | 
| Return the current number of messages in the queue. | |
| void | av_thread_message_flush (AVThreadMessageQueue *mq) | 
| Flush the message queue. | |
| typedef struct AVThreadMessageQueue AVThreadMessageQueue | 
Definition at line 22 of file threadmessage.h.
| enum AVThreadMessageFlags | 
| Enumerator | |
|---|---|
| AV_THREAD_MESSAGE_NONBLOCK | Perform non-blocking operation. If this flag is set, send and recv operations are non-blocking and return AVERROR(EAGAIN) immediately if they can not proceed. | 
Definition at line 24 of file threadmessage.h.
| int av_thread_message_queue_alloc | ( | AVThreadMessageQueue ** | mq, | 
| unsigned | nelem, | ||
| unsigned | elsize | ||
| ) | 
Allocate a new message queue.
| mq | pointer to the message queue | 
| nelem | maximum number of elements in the queue | 
| elsize | size of each element in the queue | 
| void av_thread_message_queue_free | ( | AVThreadMessageQueue ** | mq | ) | 
Free a message queue.
The message queue must no longer be in use by another thread.
| int av_thread_message_queue_send | ( | AVThreadMessageQueue * | mq, | 
| void * | msg, | ||
| unsigned | flags | ||
| ) | 
Send a message on the queue.
| int av_thread_message_queue_recv | ( | AVThreadMessageQueue * | mq, | 
| void * | msg, | ||
| unsigned | flags | ||
| ) | 
Receive a message from the queue.
| void av_thread_message_queue_set_err_send | ( | AVThreadMessageQueue * | mq, | 
| int | err | ||
| ) | 
Set the sending error code.
If the error code is set to non-zero, av_thread_message_queue_send() will return it immediately. Conventional values, such as AVERROR_EOF or AVERROR(EAGAIN), can be used to cause the sending thread to stop or suspend its operation.
| void av_thread_message_queue_set_err_recv | ( | AVThreadMessageQueue * | mq, | 
| int | err | ||
| ) | 
Set the receiving error code.
If the error code is set to non-zero, av_thread_message_queue_recv() will return it immediately when there are no longer available messages. Conventional values, such as AVERROR_EOF or AVERROR(EAGAIN), can be used to cause the receiving thread to stop or suspend its operation.
| void av_thread_message_queue_set_free_func | ( | AVThreadMessageQueue * | mq, | 
| void(*)(void *msg) | free_func | ||
| ) | 
Set the optional free message callback function which will be called if an operation is removing messages from the queue.
| int av_thread_message_queue_nb_elems | ( | AVThreadMessageQueue * | mq | ) | 
Return the current number of messages in the queue.
| void av_thread_message_flush | ( | AVThreadMessageQueue * | mq | ) | 
Flush the message queue.
This function is mostly equivalent to reading and free-ing every message except that it will be done in a single operation (no lock/unlock between reads).