FFmpeg
Enumerations | Functions
threadmessage.h File Reference

Go to the source code of this file.

Enumerations

 

Functions

int  av_thread_message_queue_alloc (AVThreadMessageQueue **mq, unsigned nelem, unsigned elsize)
  Allocate a new message queue. More...
 
  Free a message queue. More...
 
  Send a message on the queue. More...
 
  Receive a message from the queue. More...
 
  Set the sending error code. More...
 
  Set the receiving error code. More...
 
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. More...
 
  Return the current number of messages in the queue. More...
 
  Flush the message queue. More...
 

Enumeration Type Documentation

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.

Function Documentation

av_thread_message_queue_alloc()

int av_thread_message_queue_alloc ( AVThreadMessageQueue **  mq,
unsigned  nelem,
unsigned  elsize 
)

Allocate a new message queue.

Parameters
mq pointer to the message queue
nelem maximum number of elements in the queue
elsize size of each element in the queue
Returns
>=0 for success; <0 for error, in particular AVERROR(ENOSYS) if lavu was built without thread support

Definition at line 42 of file threadmessage.c.

Referenced by android_camera_read_header(), fifo_init(), and main().

av_thread_message_queue_free()

void av_thread_message_queue_free ( AVThreadMessageQueue **  mq )

Free a message queue.

The message queue must no longer be in use by another thread.

Definition at line 93 of file threadmessage.c.

Referenced by android_camera_read_close(), fifo_deinit(), and main().

av_thread_message_queue_send()

int av_thread_message_queue_send ( AVThreadMessageQueuemq,
void *  msg,
unsigned  flags 
)

Send a message on the queue.

Definition at line 158 of file threadmessage.c.

Referenced by fifo_write_packet(), fifo_write_trailer(), image_available(), and sender_thread().

av_thread_message_queue_recv()

int av_thread_message_queue_recv ( AVThreadMessageQueuemq,
void *  msg,
unsigned  flags 
)

Receive a message from the queue.

Definition at line 174 of file threadmessage.c.

Referenced by android_camera_read_close(), android_camera_read_packet(), fifo_consumer_thread(), and receiver_thread().

av_thread_message_queue_set_err_send()

void av_thread_message_queue_set_err_send ( AVThreadMessageQueuemq,
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.

Definition at line 190 of file threadmessage.c.

Referenced by android_camera_read_close(), fifo_consumer_thread(), and receiver_thread().

av_thread_message_queue_set_err_recv()

void av_thread_message_queue_set_err_recv ( AVThreadMessageQueuemq,
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.

Definition at line 201 of file threadmessage.c.

Referenced by fifo_write_trailer(), image_available(), and sender_thread().

av_thread_message_queue_set_free_func()

void av_thread_message_queue_set_free_func ( AVThreadMessageQueuemq,
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.

Definition at line 85 of file threadmessage.c.

Referenced by fifo_init(), and main().

av_thread_message_queue_nb_elems()

int av_thread_message_queue_nb_elems ( AVThreadMessageQueuemq )

Return the current number of messages in the queue.

Returns
the current number of messages or AVERROR(ENOSYS) if lavu was built without thread support

Definition at line 107 of file threadmessage.c.

Referenced by receiver_thread().

av_thread_message_flush()

void av_thread_message_flush ( AVThreadMessageQueuemq )

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).

Definition at line 223 of file threadmessage.c.

Referenced by av_thread_message_queue_free(), fifo_consumer_thread(), receiver_thread(), and sender_thread().


Generated on Wed Aug 24 2022 21:42:47 for FFmpeg by   doxygen 1.8.17

AltStyle によって変換されたページ (->オリジナル) /