FFmpegKit Linux API 6.0
|
Go to the source code of this file.
Data Structures | |
struct | SyncQueueStream |
struct | SyncQueue |
Typedefs | |
typedef struct SyncQueueStream | SyncQueueStream |
Functions | |
static void | frame_move (const SyncQueue *sq, SyncQueueFrame dst, SyncQueueFrame src) |
static int64_t | frame_ts (const SyncQueue *sq, SyncQueueFrame frame) |
static int | frame_null (const SyncQueue *sq, SyncQueueFrame frame) |
static void | finish_stream (SyncQueue *sq, unsigned int stream_idx) |
static void | queue_head_update (SyncQueue *sq) |
static void | stream_update_ts (SyncQueue *sq, unsigned int stream_idx, int64_t ts) |
static int | overflow_heartbeat (SyncQueue *sq, int stream_idx) |
int | sq_send (SyncQueue *sq, unsigned int stream_idx, SyncQueueFrame frame) |
static int | receive_for_stream (SyncQueue *sq, unsigned int stream_idx, SyncQueueFrame frame) |
static int | receive_internal (SyncQueue *sq, int stream_idx, SyncQueueFrame frame) |
int | sq_receive (SyncQueue *sq, int stream_idx, SyncQueueFrame frame) |
int | sq_add_stream (SyncQueue *sq, int limiting) |
void | sq_set_tb (SyncQueue *sq, unsigned int stream_idx, AVRational tb) |
void | sq_limit_frames (SyncQueue *sq, unsigned int stream_idx, uint64_t frames) |
SyncQueue * | sq_alloc (enum SyncQueueType type, int64_t buf_size_us) |
void | sq_free (SyncQueue **psq) |
typedef struct SyncQueueStream SyncQueueStream |
Definition at line 101 of file fftools_sync_queue.c.
|
static |
Definition at line 80 of file fftools_sync_queue.c.
|
static |
Definition at line 96 of file fftools_sync_queue.c.
|
static |
Definition at line 89 of file fftools_sync_queue.c.
Definition at line 190 of file fftools_sync_queue.c.
|
static |
Definition at line 135 of file fftools_sync_queue.c.
|
static |
Definition at line 291 of file fftools_sync_queue.c.
|
static |
Definition at line 329 of file fftools_sync_queue.c.
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 365 of file fftools_sync_queue.c.
SyncQueue * sq_alloc | ( | enum SyncQueueType | type, |
int64_t | buf_size_us | ||
) |
Allocate a sync queue of the given type.
buf_size_us | maximum duration that will be buffered in microseconds |
Definition at line 419 of file fftools_sync_queue.c.
void sq_free | ( | SyncQueue ** | psq | ) |
Definition at line 442 of file fftools_sync_queue.c.
Limit the number of output frames for stream with index stream_idx to max_frames.
Definition at line 407 of file fftools_sync_queue.c.
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 353 of file fftools_sync_queue.c.
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 248 of file fftools_sync_queue.c.
Set the timebase for the stream with index stream_idx. Should be called before sending any frames for this stream.
Definition at line 392 of file fftools_sync_queue.c.
Definition at line 161 of file fftools_sync_queue.c.