FFmpeg
Classes | Macros | Typedefs | Functions | Variables
af_amix.c File Reference

Audio Mix Filter. More...

#include "libavutil/attributes.h"
#include "libavutil/audio_fifo.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
#include "libavutil/float_dsp.h"
#include "libavutil/mathematics.h"
#include "libavutil/opt.h"
#include "libavutil/samplefmt.h"
#include "audio.h"
#include "avfilter.h"
#include "filters.h"
#include "formats.h"
#include "internal.h"

Classes

struct  FrameInfo
 
struct  FrameList
 Linked list used to store timestamps and frame sizes of all frames in the FIFO for the first input. More...
 
struct  MixContext
 

Macros

#define INPUT_ON   1
 input is active
 
#define INPUT_EOF   2
 input has reached EOF (may still be active)
 
#define DURATION_LONGEST   0
 
#define DURATION_SHORTEST   1
 
#define DURATION_FIRST   2
 
#define OFFSET(x)   offsetof(MixContext, x)
 
#define A   AV_OPT_FLAG_AUDIO_PARAM
 
#define F   AV_OPT_FLAG_FILTERING_PARAM
 

Typedefs

typedef struct FrameInfo FrameInfo
 
typedef struct FrameList FrameList
 Linked list used to store timestamps and frame sizes of all frames in the FIFO for the first input. More...
 
typedef struct MixContext MixContext
 

Functions

 AVFILTER_DEFINE_CLASS (amix)
 

Variables

AVFilter ff_af_amix
 

Detailed Description

Audio Mix Filter.

Mixes audio from multiple sources into a single output. The channel layout, sample rate, and sample format will be the same for all inputs and the output.

Typedef Documentation

§ FrameList

typedef struct FrameList FrameList

Linked list used to store timestamps and frame sizes of all frames in the FIFO for the first input.

This is needed to keep timestamps synchronized for the case where multiple input frames are pushed to the filter for processing before a frame is requested by the output link.

Variable Documentation

§ ff_af_amix

AVFilter ff_af_amix
Initial value:
= {
.name = "amix",
.description = NULL_IF_CONFIG_SMALL("Audio mixing."),
.priv_size = sizeof(MixContext),
.priv_class = &amix_class,
.init = init,
.uninit = uninit,
.activate = activate,
.query_formats = query_formats,
.inputs = NULL,
.outputs = avfilter_af_amix_outputs,
}
#define AVFILTER_FLAG_DYNAMIC_INPUTS
The number of the filter inputs is not determined just by AVFilter.inputs.
Definition: avfilter.h:105
#define NULL_IF_CONFIG_SMALL(x)
Return NULL if CONFIG_SMALL is true, otherwise the argument without modification. ...
Definition: internal.h:186
Definition: af_amix.c:157