Commit 04a2138b authored by Max Kellermann's avatar Max Kellermann

pcm: pass void pointers to PCM functions

In generic PCM functions allowing all sample formats, pass a void pointer instead of a char pointer.
parent bb010164
...@@ -117,21 +117,20 @@ pcm_convert_24(const struct audio_format *src_format, ...@@ -117,21 +117,20 @@ pcm_convert_24(const struct audio_format *src_format,
return len; return len;
} }
/* outFormat bits must be 16 and channels must be 1 or 2! */
size_t pcm_convert(const struct audio_format *inFormat, size_t pcm_convert(const struct audio_format *inFormat,
const char *src, size_t src_size, const void *src, size_t src_size,
const struct audio_format *outFormat, const struct audio_format *outFormat,
char *outBuffer, void *dest,
struct pcm_convert_state *convState) struct pcm_convert_state *convState)
{ {
switch (outFormat->bits) { switch (outFormat->bits) {
case 16: case 16:
return pcm_convert_16(inFormat, src, src_size, return pcm_convert_16(inFormat, src, src_size,
outFormat, (int16_t*)outBuffer, outFormat, (int16_t*)dest,
convState); convState);
case 24: case 24:
return pcm_convert_24(inFormat, src, src_size, return pcm_convert_24(inFormat, src, src_size,
outFormat, (int32_t*)outBuffer, outFormat, (int32_t*)dest,
convState); convState);
default: default:
......
...@@ -33,9 +33,9 @@ struct pcm_convert_state { ...@@ -33,9 +33,9 @@ struct pcm_convert_state {
void pcm_convert_init(struct pcm_convert_state *state); void pcm_convert_init(struct pcm_convert_state *state);
size_t pcm_convert(const struct audio_format *inFormat, size_t pcm_convert(const struct audio_format *inFormat,
const char *inBuffer, size_t inSize, const void *src, size_t src_size,
const struct audio_format *outFormat, const struct audio_format *outFormat,
char *outBuffer, void *dest,
struct pcm_convert_state *convState); struct pcm_convert_state *convState);
size_t pcm_convert_size(const struct audio_format *inFormat, size_t inSize, size_t pcm_convert_size(const struct audio_format *inFormat, size_t inSize,
......
...@@ -80,7 +80,7 @@ pcm_add_24(int32_t *buffer1, const int32_t *buffer2, ...@@ -80,7 +80,7 @@ pcm_add_24(int32_t *buffer1, const int32_t *buffer2,
} }
static void static void
pcm_add(char *buffer1, const char *buffer2, size_t size, pcm_add(void *buffer1, const void *buffer2, size_t size,
int vol1, int vol2, int vol1, int vol2,
const struct audio_format *format) const struct audio_format *format)
{ {
...@@ -107,7 +107,7 @@ pcm_add(char *buffer1, const char *buffer2, size_t size, ...@@ -107,7 +107,7 @@ pcm_add(char *buffer1, const char *buffer2, size_t size,
} }
void void
pcm_mix(char *buffer1, const char *buffer2, size_t size, pcm_mix(void *buffer1, const void *buffer2, size_t size,
const struct audio_format *format, float portion1) const struct audio_format *format, float portion1)
{ {
int vol1; int vol1;
......
...@@ -24,7 +24,7 @@ ...@@ -24,7 +24,7 @@
struct audio_format; struct audio_format;
void void
pcm_mix(char *buffer1, const char *buffer2, size_t size, pcm_mix(void *buffer1, const void *buffer2, size_t size,
const struct audio_format *format, float portion1); const struct audio_format *format, float portion1);
#endif #endif
...@@ -74,7 +74,7 @@ pcm_volume_change_24(int32_t *buffer, unsigned num_samples, int volume) ...@@ -74,7 +74,7 @@ pcm_volume_change_24(int32_t *buffer, unsigned num_samples, int volume)
} }
void void
pcm_volume(char *buffer, int bufferSize, pcm_volume(void *buffer, int bufferSize,
const struct audio_format *format, const struct audio_format *format,
int volume) int volume)
{ {
......
...@@ -52,7 +52,7 @@ pcm_volume_dither(void) ...@@ -52,7 +52,7 @@ pcm_volume_dither(void)
} }
void void
pcm_volume(char *buffer, int bufferSize, pcm_volume(void *buffer, int bufferSize,
const struct audio_format *format, const struct audio_format *format,
int volume); int volume);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment