JLChen
2020-12-10 a8c5f79b0d93adfa7f23601dd0fee30edc14f0d4
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/**
 * @file rem_aumix.h Audio Mixer
 *
 * Copyright (C) 2010 Creytiv.com
 */
 
struct aumix;
struct aumix_source;
 
/**
 * Audio mixer frame handler
 *
 * @param buf Buffer with audio samples
 * @param sz  Number of bytes
 * @param arg Handler argument
 */
typedef void (aumix_frame_h)(const int16_t *sampv, size_t sampc, void *arg);
 
int aumix_alloc(struct aumix **mixp, uint32_t srate,
        uint8_t ch, uint32_t ptime);
int aumix_playfile(struct aumix *mix, const char *filepath);
uint32_t aumix_source_count(const struct aumix *mix);
int aumix_source_alloc(struct aumix_source **srcp, struct aumix *mix,
               aumix_frame_h *fh, void *arg);
void aumix_source_enable(struct aumix_source *src, bool enable);
int  aumix_source_put(struct aumix_source *src, const int16_t *sampv,
              size_t sampc);
void aumix_source_flush(struct aumix_source *src);