|
FFmpeg
|
Go to the source code of this file.
Data Structures | |
| union | SyncQueueFrame |
Macros | |
| #define | SQFRAME(frame) ((SyncQueueFrame){ .f = (frame) }) |
| #define | SQPKT(pkt) ((SyncQueueFrame){ .p = (pkt) }) |
Enumerations | |
| enum | SyncQueueType { SYNC_QUEUE_PACKETS, SYNC_QUEUE_FRAMES } |
Functions | |
| SyncQueue * | sq_alloc (enum SyncQueueType type, int64_t buf_size_us, void *logctx) |
| Allocate a sync queue of the given type. More... | |
| void | sq_free (SyncQueue **sq) |
| int | sq_add_stream (SyncQueue *sq, int limiting) |
| Add a new stream to the sync queue. More... | |
| void | sq_limit_frames (SyncQueue *sq, unsigned int stream_idx, uint64_t max_frames) |
| Limit the number of output frames for stream with index stream_idx to max_frames. More... | |
| void | sq_frame_samples (SyncQueue *sq, unsigned int stream_idx, int frame_samples) |
| Set a constant output audio frame size, in samples. More... | |
| int | sq_send (SyncQueue *sq, unsigned int stream_idx, SyncQueueFrame frame) |
| Submit a frame for the stream with index stream_idx. More... | |
| int | sq_receive (SyncQueue *sq, int stream_idx, SyncQueueFrame frame) |
| Read a frame from the queue. More... | |
| #define SQFRAME | ( | frame | ) | ((SyncQueueFrame){ .f = (frame) }) |
Definition at line 38 of file sync_queue.h.
| #define SQPKT | ( | pkt | ) | ((SyncQueueFrame){ .p = (pkt) }) |
Definition at line 39 of file sync_queue.h.
| enum SyncQueueType |
| Enumerator | |
|---|---|
| SYNC_QUEUE_PACKETS | |
| SYNC_QUEUE_FRAMES | |
Definition at line 28 of file sync_queue.h.
| SyncQueue* sq_alloc | ( | enum SyncQueueType | type, |
| int64_t | buf_size_us, | ||
| void * | logctx | ||
| ) |
Allocate a sync queue of the given type.
| buf_size_us | maximum duration that will be buffered in microseconds |
Definition at line 654 of file sync_queue.c.
Referenced by sch_add_sq_enc(), and setup_sync_queues().
| void sq_free | ( | SyncQueue ** | sq | ) |
Definition at line 671 of file sync_queue.c.
Referenced by of_free(), and sch_free().
| int sq_add_stream | ( | SyncQueue * | sq, |
| int | limiting | ||
| ) |
Add a new stream to the sync queue.
| limiting | whether the stream is limiting, i.e. no other stream can be longer than this one |
Definition at line 598 of file sync_queue.c.
Referenced by sch_sq_add_enc(), and setup_sync_queues().
| void sq_limit_frames | ( | SyncQueue * | sq, |
| unsigned int | stream_idx, | ||
| uint64_t | max_frames | ||
| ) |
Limit the number of output frames for stream with index stream_idx to max_frames.
Definition at line 628 of file sync_queue.c.
Referenced by sch_sq_add_enc(), and setup_sync_queues().
| void sq_frame_samples | ( | SyncQueue * | sq, |
| unsigned int | stream_idx, | ||
| int | frame_samples | ||
| ) |
Set a constant output audio frame size, in samples.
Can only be used with SYNC_QUEUE_FRAMES queues and audio streams.
All output frames will have exactly frame_samples audio samples, except possibly for the last one, which may have fewer.
Definition at line 640 of file sync_queue.c.
Referenced by enc_open().
| int sq_send | ( | SyncQueue * | sq, |
| unsigned int | stream_idx, | ||
| SyncQueueFrame | frame | ||
| ) |
Submit a frame for the stream with index stream_idx.
On success, the sync queue takes ownership of the frame and will reset the contents of the supplied frame. On failure, the frame remains owned by the caller.
Sending a frame with NULL contents marks the stream as finished.
Definition at line 333 of file sync_queue.c.
Referenced by send_to_enc_sq(), and sync_queue_process().
| int sq_receive | ( | SyncQueue * | sq, |
| int | stream_idx, | ||
| SyncQueueFrame | frame | ||
| ) |
Read a frame from the queue.
| stream_idx | index of the stream to read a frame for. May be -1, then try to read a frame from any stream that is ready for output. |
| frame | output frame will be written here on success. The frame is owned by the caller. |
Definition at line 586 of file sync_queue.c.
Referenced by send_to_enc_sq(), and sync_queue_process().
1.8.17