Revision 1ea879e5 audio/mixeng.h
b/audio/mixeng.h | ||
---|---|---|
25 | 25 |
#define QEMU_MIXENG_H |
26 | 26 |
|
27 | 27 |
#ifdef FLOAT_MIXENG |
28 |
typedef float real_t;
|
|
29 |
typedef struct { int mute; real_t r; real_t l; } volume_t;
|
|
30 |
typedef struct { real_t l; real_t r; } st_sample_t;
|
|
28 |
typedef float mixeng_real;
|
|
29 |
struct mixeng_volume { int mute; mixeng_real r; mixeng_real l; };
|
|
30 |
struct mixeng_sample { mixeng_real l; mixeng_real r; };
|
|
31 | 31 |
#else |
32 |
typedef struct { int mute; int64_t r; int64_t l; } volume_t;
|
|
33 |
typedef struct { int64_t l; int64_t r; } st_sample_t;
|
|
32 |
struct mixeng_volume { int mute; int64_t r; int64_t l; };
|
|
33 |
struct st_sample { int64_t l; int64_t r; };
|
|
34 | 34 |
#endif |
35 | 35 |
|
36 |
typedef void (t_sample) (st_sample_t *dst, const void *src,
|
|
37 |
int samples, volume_t *vol);
|
|
38 |
typedef void (f_sample) (void *dst, const st_sample_t *src, int samples);
|
|
36 |
typedef void (t_sample) (struct st_sample *dst, const void *src,
|
|
37 |
int samples, struct mixeng_volume *vol);
|
|
38 |
typedef void (f_sample) (void *dst, const struct st_sample *src, int samples);
|
|
39 | 39 |
|
40 | 40 |
extern t_sample *mixeng_conv[2][2][2][3]; |
41 | 41 |
extern f_sample *mixeng_clip[2][2][2][3]; |
42 | 42 |
|
43 | 43 |
void *st_rate_start (int inrate, int outrate); |
44 |
void st_rate_flow (void *opaque, st_sample_t *ibuf, st_sample_t *obuf,
|
|
44 |
void st_rate_flow (void *opaque, struct st_sample *ibuf, struct st_sample *obuf,
|
|
45 | 45 |
int *isamp, int *osamp); |
46 |
void st_rate_flow_mix (void *opaque, st_sample_t *ibuf, st_sample_t *obuf,
|
|
46 |
void st_rate_flow_mix (void *opaque, struct st_sample *ibuf, struct st_sample *obuf,
|
|
47 | 47 |
int *isamp, int *osamp); |
48 | 48 |
void st_rate_stop (void *opaque); |
49 |
void mixeng_clear (st_sample_t *buf, int len);
|
|
49 |
void mixeng_clear (struct st_sample *buf, int len);
|
|
50 | 50 |
|
51 | 51 |
#endif /* mixeng.h */ |
Also available in: Unified diff