summaryrefslogtreecommitdiffstats
path: root/src/converter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/converter.h')
-rw-r--r--src/converter.h12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/converter.h b/src/converter.h
index 39338c2..a3ec182 100644
--- a/src/converter.h
+++ b/src/converter.h
@@ -14,6 +14,12 @@
typedef struct sa_converter sa_converter_t;
+typedef enum {
+ SA_INTERLEAVE_YES, /* samples are interleaved; left, right, left, right */
+ SA_INTERLEAVE_NO, /* samples are managed in seperate blocks */
+ SA_INTERLEAVE_ANY /* we don't care or don't know if the samples are interleaved or not */
+} sa_interleave_t;
+
struct sa_converter {
sa_pcm_format_t from_pcm_format, to_pcm_format;
unsigned from_nchannels, to_nchannels;
@@ -63,14 +69,14 @@ void sa_converter_done(sa_converter_t *c);
int sa_converter_go(
sa_converter_t *c,
- const void *const src[], const size_t sstr[], int sinterleave,
- void **dst[], size_t *dstr[], int dinterleave,
+ const void *const src[], const size_t sstr[], sa_interleave_t sinterleave,
+ void **dst[], size_t *dstr[], sa_interleave_t dinterleave,
size_t *size);
int sa_converter_go_interleaved(
sa_converter_t *c,
const void *const data,
- void **dst[], size_t *dstr[], int dinterleave,
+ void **dst[], size_t *dstr[], sa_interleave_t dinterleave,
size_t *size);
void sa_converter_set_volume(sa_converter_t *c, const int32_t vol[]);