|  | libgpac
    Documentation of the core library of GPAC | 
#include <gpac/internal/compositor_dev.h> Include dependency graph for audio_mixer.c:
 Include dependency graph for audio_mixer.c:| Data Structures | |
| struct | MixerInput | 
| struct | GF_AudioMixer | 
| Macros | |
| #define | swap_16(x) (( (x) << 8 & 0xff00) | ((x) >> 8 & 0x00ff)) | 
| #define | swap_32(x) (swap_16(x) << 16 | swap_16((x) >> 16)) | 
| #define | swap_64(x) ( swap_32(x) << 32 | swap_32((x) >> 32)) | 
| #define | GF_S24_MAX 8388607 | 
| #define | GF_S24_MIN -8388608 | 
| #define | MIX_S16_SCALE 65535 | 
| #define | MIX_S24_SCALE 255 | 
| #define | MIX_U8_SCALE 16777215 | 
| #define | TRUNC_FLT_DBL(_a) | 
| #define | RESAMPLE_SCALER 1000 | 
| Functions | |
| GF_EXPORT GF_AudioMixer * | gf_mixer_new (struct _audio_render *ar) | 
| Bool | gf_mixer_must_reconfig (GF_AudioMixer *am) | 
| void | gf_mixer_set_max_speed (GF_AudioMixer *am, Double max_speed) | 
| GF_EXPORT void | gf_mixer_del (GF_AudioMixer *am) | 
| void | gf_mixer_remove_all (GF_AudioMixer *am) | 
| Bool | gf_mixer_is_src_present (GF_AudioMixer *am, GF_AudioInterface *ifce) | 
| u32 | gf_mixer_get_src_count (GF_AudioMixer *am) | 
| GF_Err | gf_mixer_force_channel_out (GF_AudioMixer *am, u32 num_channels) | 
| u32 | gf_mixer_get_block_align (GF_AudioMixer *am) | 
| GF_EXPORT void | gf_mixer_lock (GF_AudioMixer *am, Bool lockIt) | 
| GF_EXPORT Bool | gf_mixer_empty (GF_AudioMixer *am) | 
| GF_EXPORT Bool | gf_mixer_buffering (GF_AudioMixer *am) | 
| GF_EXPORT Bool | gf_mixer_is_eos (GF_AudioMixer *am) | 
| GF_EXPORT void | gf_mixer_add_input (GF_AudioMixer *am, GF_AudioInterface *src) | 
| void | gf_mixer_remove_input (GF_AudioMixer *am, GF_AudioInterface *src) | 
| static GF_Err | get_best_samplerate (GF_AudioMixer *am, u32 *out_sr, u32 *out_ch, u32 *out_fmt) | 
| GF_EXPORT void | gf_mixer_get_config (GF_AudioMixer *am, u32 *outSR, u32 *outCH, u32 *outFMT, u64 *outChCfg) | 
| GF_EXPORT GF_Err | gf_mixer_set_config (GF_AudioMixer *am, u32 outSR, u32 outCH, u32 outFMT, u64 outChCfg) | 
| static GFINLINE s32 | make_s24_int (u8 *ptr) | 
| static GFINLINE s32 | make_s24_be_int (u8 *ptr) | 
| s32 | input_sample_s32 (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_s32p (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_s32_be (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_s24 (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_s24p (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_s24_be (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_flt (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_fltp (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_flt_be (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_dbl (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_dblp (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_dbl_be (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_s16 (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_s16_be (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_s16p (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_u8 (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_u8p (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| s32 | input_sample_null (u8 *data, u32 nb_ch, u32 sample_offset, u32 channel, u32 planar_stride) | 
| static void | gf_am_configure_source (MixerInput *in) | 
| GF_EXPORT Bool | gf_mixer_reconfig (GF_AudioMixer *am) | 
| static GFINLINE u32 | get_channel_out_pos (u32 in_ch, u64 out_ch_layout) | 
| static GFINLINE void | gf_mixer_map_channels (s32 *inChan, u32 nb_in, u64 in_ch_layout, Bool forced_layout, u32 nb_out, u64 out_ch_layout) | 
| static void | gf_mixer_fetch_input (GF_AudioMixer *am, MixerInput *in, u32 audio_delay) | 
| GF_EXPORT u32 | gf_mixer_get_output (GF_AudioMixer *am, void *buffer, u32 buffer_size, u32 delay) | 
| struct __audiomix | 
| #define swap_16 | ( | x | ) | (( (x) << 8 & 0xff00) | ((x) >> 8 & 0x00ff)) | 
| #define GF_S24_MAX 8388607 | 
| #define GF_S24_MIN -8388608 | 
| #define MIX_S16_SCALE 65535 | 
| #define MIX_S24_SCALE 255 | 
| #define MIX_U8_SCALE 16777215 | 
| #define TRUNC_FLT_DBL | ( | _a | ) | 
| #define RESAMPLE_SCALER 1000 | 
| GF_EXPORT GF_AudioMixer * gf_mixer_new | ( | struct _audio_render * | ar | ) | 
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| Bool gf_mixer_must_reconfig | ( | GF_AudioMixer * | am | ) | 
 Here is the caller graph for this function:
 Here is the caller graph for this function:| void gf_mixer_set_max_speed | ( | GF_AudioMixer * | am, | 
| Double | max_speed | ||
| ) | 
 Here is the caller graph for this function:
 Here is the caller graph for this function:| GF_EXPORT void gf_mixer_del | ( | GF_AudioMixer * | am | ) | 
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| void gf_mixer_remove_all | ( | GF_AudioMixer * | am | ) | 
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| Bool gf_mixer_is_src_present | ( | GF_AudioMixer * | am, | 
| GF_AudioInterface * | ifce | ||
| ) | 
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| u32 gf_mixer_get_src_count | ( | GF_AudioMixer * | am | ) | 
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| u32 gf_mixer_get_block_align | ( | GF_AudioMixer * | am | ) | 
 Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| GF_EXPORT void gf_mixer_add_input | ( | GF_AudioMixer * | am, | 
| GF_AudioInterface * | src | ||
| ) | 
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| void gf_mixer_remove_input | ( | GF_AudioMixer * | am, | 
| GF_AudioInterface * | src | ||
| ) | 
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
 Here is the caller graph for this function:
 Here is the caller graph for this function:| GF_EXPORT void gf_mixer_get_config | ( | GF_AudioMixer * | am, | 
| u32 * | outSR, | ||
| u32 * | outCH, | ||
| u32 * | outFMT, | ||
| u64 * | outChCfg | ||
| ) | 
 Here is the caller graph for this function:
 Here is the caller graph for this function:| GF_EXPORT GF_Err gf_mixer_set_config | ( | GF_AudioMixer * | am, | 
| u32 | outSR, | ||
| u32 | outCH, | ||
| u32 | outFMT, | ||
| u64 | outChCfg | ||
| ) | 
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function:| 
 | static | 
 Here is the call graph for this function:
 Here is the call graph for this function: Here is the caller graph for this function:
 Here is the caller graph for this function: