#include "libavutil/audio_fifo.h"
#include "libavutil/audioconvert.h"
#include "libavutil/fifo.h"
#include "libavutil/mathematics.h"
#include "audio.h"
#include "avfilter.h"
#include "buffersink.h"
Go to the source code of this file.
Data Structures | |
struct | BufferSinkContext |
Defines | |
#define | FIFO_INIT_SIZE 8 |
Functions | |
static av_cold void | uninit (AVFilterContext *ctx) |
static av_cold int | init (AVFilterContext *ctx, const char *args, void *opaque) |
static void | write_buf (AVFilterContext *ctx, AVFilterBufferRef *buf) |
static void | end_frame (AVFilterLink *link) |
static void | filter_samples (AVFilterLink *link, AVFilterBufferRef *buf) |
int | av_buffersink_read (AVFilterContext *ctx, AVFilterBufferRef **buf) |
Get a buffer with filtered data from sink and put it in buf. | |
static int | read_from_fifo (AVFilterContext *ctx, AVFilterBufferRef **pbuf, int nb_samples) |
int | av_buffersink_read_samples (AVFilterContext *ctx, AVFilterBufferRef **pbuf, int nb_samples) |
Same as av_buffersink_read, but with the ability to specify the number of samples read. | |
Variables | |
AVFilter | avfilter_vsink_buffer |
AVFilter | avfilter_asink_abuffer |
Definition in file buffersink.c.
#define FIFO_INIT_SIZE 8 |
int av_buffersink_read | ( | AVFilterContext * | sink, | |
AVFilterBufferRef ** | buf | |||
) |
Get a buffer with filtered data from sink and put it in buf.
sink | pointer to a context of a buffersink or abuffersink AVFilter. | |
buf | pointer to the buffer will be written here if buf is non-NULL. buf must be freed by the caller using avfilter_unref_buffer(). Buf may also be NULL to query whether a buffer is ready to be output. |
Definition at line 95 of file buffersink.c.
Referenced by av_buffersink_read_samples(), and poll_filters().
int av_buffersink_read_samples | ( | AVFilterContext * | ctx, | |
AVFilterBufferRef ** | buf, | |||
int | nb_samples | |||
) |
Same as av_buffersink_read, but with the ability to specify the number of samples read.
This function is less efficient than av_buffersink_read(), because it copies the data around.
sink | pointer to a context of the abuffersink AVFilter. | |
buf | pointer to the buffer will be written here if buf is non-NULL. buf must be freed by the caller using avfilter_unref_buffer(). buf will contain exactly nb_samples audio samples, except at the end of stream, when it can contain less than nb_samples. Buf may also be NULL to query whether a buffer is ready to be output. |
Definition at line 140 of file buffersink.c.
Referenced by poll_filters().
static void end_frame | ( | AVFilterLink * | link | ) | [static] |
Definition at line 84 of file buffersink.c.
static void filter_samples | ( | AVFilterLink * | link, | |
AVFilterBufferRef * | buf | |||
) | [static] |
Definition at line 90 of file buffersink.c.
static av_cold int init | ( | AVFilterContext * | ctx, | |
const char * | args, | |||
void * | opaque | |||
) | [static] |
Definition at line 59 of file buffersink.c.
static int read_from_fifo | ( | AVFilterContext * | ctx, | |
AVFilterBufferRef ** | pbuf, | |||
int | nb_samples | |||
) | [static] |
static av_cold void uninit | ( | AVFilterContext * | ctx | ) | [static] |
Definition at line 44 of file buffersink.c.
static void write_buf | ( | AVFilterContext * | ctx, | |
AVFilterBufferRef * | buf | |||
) | [static] |
Initial value:
{ .name = "abuffersink_old", .description = NULL_IF_CONFIG_SMALL("Buffer audio frames, and make them available to the end of the filter graph."), .priv_size = sizeof(BufferSinkContext), .init = init, .uninit = uninit, .inputs = (AVFilterPad[]) {{ .name = "default", .type = AVMEDIA_TYPE_AUDIO, .filter_samples = filter_samples, .min_perms = AV_PERM_READ, }, { .name = NULL }}, .outputs = (AVFilterPad[]) {{ .name = NULL }}, }
Definition at line 195 of file buffersink.c.
Referenced by avfilter_register_all().
Initial value:
{ .name = "buffersink_old", .description = NULL_IF_CONFIG_SMALL("Buffer video frames, and make them available to the end of the filter graph."), .priv_size = sizeof(BufferSinkContext), .init = init, .uninit = uninit, .inputs = (AVFilterPad[]) {{ .name = "default", .type = AVMEDIA_TYPE_VIDEO, .end_frame = end_frame, .min_perms = AV_PERM_READ, }, { .name = NULL }}, .outputs = (AVFilterPad[]) {{ .name = NULL }}, }
Definition at line 180 of file buffersink.c.
Referenced by avfilter_register_all().