FFmpeg
|
Files | |
file | buffersink.h |
memory buffer sink API for audio and video | |
Data Structures | |
struct | AVBufferSinkParams |
Struct to use for initializing a buffersink context. More... | |
struct | AVABufferSinkParams |
Struct to use for initializing an abuffersink context. More... | |
Macros | |
#define | AV_BUFFERSINK_FLAG_PEEK 1 |
Tell av_buffersink_get_buffer_ref() to read video/samples buffer reference, but not remove it from the buffer. More... | |
#define | AV_BUFFERSINK_FLAG_NO_REQUEST 2 |
Tell av_buffersink_get_buffer_ref() not to request a frame from its input. More... | |
Functions | |
int | av_buffersink_get_frame_flags (AVFilterContext *ctx, AVFrame *frame, int flags) |
Get a frame with filtered data from sink and put it in frame. More... | |
AVBufferSinkParams * | av_buffersink_params_alloc (void) |
Create an AVBufferSinkParams structure. More... | |
AVABufferSinkParams * | av_abuffersink_params_alloc (void) |
Create an AVABufferSinkParams structure. More... | |
void | av_buffersink_set_frame_size (AVFilterContext *ctx, unsigned frame_size) |
Set the frame size for an audio buffer sink. More... | |
AVRational | av_buffersink_get_frame_rate (AVFilterContext *ctx) |
Get the frame rate of the input. More... | |
int | av_buffersink_get_frame (AVFilterContext *ctx, AVFrame *frame) |
Get a frame with filtered data from sink and put it in frame. More... | |
int | av_buffersink_get_samples (AVFilterContext *ctx, AVFrame *frame, int nb_samples) |
Same as av_buffersink_get_frame(), but with the ability to specify the number of samples read. More... | |
#define AV_BUFFERSINK_FLAG_PEEK 1 |
Tell av_buffersink_get_buffer_ref() to read video/samples buffer reference, but not remove it from the buffer.
This is useful if you need only to read a video/samples buffer, without to fetch it.
Definition at line 53 of file buffersink.h.
Referenced by av_buffersink_get_frame_flags(), and lavfi_read_packet().
#define AV_BUFFERSINK_FLAG_NO_REQUEST 2 |
Tell av_buffersink_get_buffer_ref() not to request a frame from its input.
If a frame is already buffered, it is read (and removed from the buffer), but if no frame is present, return AVERROR(EAGAIN).
Definition at line 60 of file buffersink.h.
Referenced by av_buffersink_get_frame_flags(), main(), and reap_filters().
int av_buffersink_get_frame_flags | ( | AVFilterContext * | ctx, |
AVFrame * | frame, | ||
int | flags | ||
) |
Get a frame with filtered data from sink and put it in frame.
ctx | pointer to a buffersink or abuffersink filter context. |
frame | pointer to an allocated frame that will be filled with data. The data must be freed using av_frame_unref() / av_frame_free() |
flags | a combination of AV_BUFFERSINK_FLAG_* flags |
Definition at line 128 of file buffersink.c.
Referenced by audio_thread(), av_buffersink_get_frame(), av_buffersink_get_samples(), lavfi_read_packet(), main(), reap_filters(), and video_thread().
AVBufferSinkParams* av_buffersink_params_alloc | ( | void | ) |
Create an AVBufferSinkParams structure.
Must be freed with av_free().
Definition at line 229 of file buffersink.c.
AVABufferSinkParams* av_abuffersink_params_alloc | ( | void | ) |
Create an AVABufferSinkParams structure.
Must be freed with av_free().
Definition at line 240 of file buffersink.c.
void av_buffersink_set_frame_size | ( | AVFilterContext * | ctx, |
unsigned | frame_size | ||
) |
Set the frame size for an audio buffer sink.
All calls to av_buffersink_get_buffer_ref will return a buffer with exactly the specified number of samples, or AVERROR(EAGAIN) if there is not enough. The last buffer at EOF will be padded with 0.
Definition at line 263 of file buffersink.c.
Referenced by configure_filtergraph(), and init_output_stream().
AVRational av_buffersink_get_frame_rate | ( | AVFilterContext * | ctx | ) |
Get the frame rate of the input.
Definition at line 271 of file buffersink.c.
Referenced by main(), and transcode_init().
int av_buffersink_get_frame | ( | AVFilterContext * | ctx, |
AVFrame * | frame | ||
) |
Get a frame with filtered data from sink and put it in frame.
ctx | pointer to a context of a buffersink or abuffersink AVFilter. |
frame | pointer to an allocated frame that will be filled with data. The data must be freed using av_frame_unref() / av_frame_free() |
Definition at line 123 of file buffersink.c.
Referenced by filter_encode_write_frame(), and main().
int av_buffersink_get_samples | ( | AVFilterContext * | ctx, |
AVFrame * | frame, | ||
int | nb_samples | ||
) |
Same as av_buffersink_get_frame(), but with the ability to specify the number of samples read.
This function is less efficient than av_buffersink_get_frame(), because it copies the data around.
ctx | pointer to a context of the abuffersink AVFilter. |
frame | pointer to an allocated frame that will be filled with data. The data must be freed using av_frame_unref() / av_frame_free() frame will contain exactly nb_samples audio samples, except at the end of stream, when it can contain less than nb_samples. |
Definition at line 185 of file buffersink.c.