pcm_utils: pass int16_t* where appropriate
Pass int16_t pointers instead of char pointers to functions which can deal with 16 bit audio only.
This commit is contained in:
parent
08210af23a
commit
0d3a6ff669
@ -245,8 +245,8 @@ out:
|
|||||||
|
|
||||||
#ifdef HAVE_LIBSAMPLERATE
|
#ifdef HAVE_LIBSAMPLERATE
|
||||||
static size_t pcm_convertSampleRate(int8_t channels, uint32_t inSampleRate,
|
static size_t pcm_convertSampleRate(int8_t channels, uint32_t inSampleRate,
|
||||||
const char *inBuffer, size_t inSize,
|
const int16_t *inBuffer, size_t inSize,
|
||||||
uint32_t outSampleRate, char *outBuffer,
|
uint32_t outSampleRate, int16_t *outBuffer,
|
||||||
size_t outSize, ConvState *convState)
|
size_t outSize, ConvState *convState)
|
||||||
{
|
{
|
||||||
static int convalgo = -1;
|
static int convalgo = -1;
|
||||||
@ -321,7 +321,7 @@ static size_t pcm_convertSampleRate(int8_t channels, uint32_t inSampleRate,
|
|||||||
#else /* !HAVE_LIBSAMPLERATE */
|
#else /* !HAVE_LIBSAMPLERATE */
|
||||||
/* resampling code blatantly ripped from ESD */
|
/* resampling code blatantly ripped from ESD */
|
||||||
static size_t pcm_convertSampleRate(int8_t channels, uint32_t inSampleRate,
|
static size_t pcm_convertSampleRate(int8_t channels, uint32_t inSampleRate,
|
||||||
const char *inBuffer,
|
const int16_t *inBuffer,
|
||||||
mpd_unused size_t inSize,
|
mpd_unused size_t inSize,
|
||||||
uint32_t outSampleRate, char *outBuffer,
|
uint32_t outSampleRate, char *outBuffer,
|
||||||
size_t outSize,
|
size_t outSize,
|
||||||
@ -362,12 +362,13 @@ static size_t pcm_convertSampleRate(int8_t channels, uint32_t inSampleRate,
|
|||||||
}
|
}
|
||||||
#endif /* !HAVE_LIBSAMPLERATE */
|
#endif /* !HAVE_LIBSAMPLERATE */
|
||||||
|
|
||||||
static char *pcm_convertChannels(int8_t channels, const char *inBuffer,
|
static const int16_t *
|
||||||
size_t inSize, size_t *outSize)
|
pcm_convertChannels(int8_t channels, const int16_t *inBuffer,
|
||||||
|
size_t inSize, size_t *outSize)
|
||||||
{
|
{
|
||||||
static char *buf;
|
static int16_t *buf;
|
||||||
static size_t len;
|
static size_t len;
|
||||||
char *outBuffer = NULL;
|
int16_t *outBuffer = NULL;
|
||||||
const int16_t *in;
|
const int16_t *in;
|
||||||
int16_t *out;
|
int16_t *out;
|
||||||
int inSamples, i;
|
int inSamples, i;
|
||||||
@ -436,10 +437,11 @@ pcm_convert_24_to_16(int16_t *out, const int32_t *in,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
static const char *pcm_convertTo16bit(uint8_t bits, const char *inBuffer,
|
static const int16_t *
|
||||||
size_t inSize, size_t *outSize)
|
pcm_convertTo16bit(uint8_t bits, const void *inBuffer,
|
||||||
|
size_t inSize, size_t *outSize)
|
||||||
{
|
{
|
||||||
static char *buf;
|
static int16_t *buf;
|
||||||
static size_t len;
|
static size_t len;
|
||||||
unsigned num_samples;
|
unsigned num_samples;
|
||||||
|
|
||||||
@ -485,7 +487,7 @@ size_t pcm_convertAudioFormat(const struct audio_format *inFormat,
|
|||||||
const struct audio_format *outFormat,
|
const struct audio_format *outFormat,
|
||||||
char *outBuffer, ConvState *convState)
|
char *outBuffer, ConvState *convState)
|
||||||
{
|
{
|
||||||
const char *buf;
|
const int16_t *buf;
|
||||||
size_t len = 0;
|
size_t len = 0;
|
||||||
size_t outSize = pcm_sizeOfConvBuffer(inFormat, inSize, outFormat);
|
size_t outSize = pcm_sizeOfConvBuffer(inFormat, inSize, outFormat);
|
||||||
|
|
||||||
@ -509,7 +511,8 @@ size_t pcm_convertAudioFormat(const struct audio_format *inFormat,
|
|||||||
} else {
|
} else {
|
||||||
len = pcm_convertSampleRate(outFormat->channels,
|
len = pcm_convertSampleRate(outFormat->channels,
|
||||||
inFormat->sample_rate, buf, len,
|
inFormat->sample_rate, buf, len,
|
||||||
outFormat->sample_rate, outBuffer,
|
outFormat->sample_rate,
|
||||||
|
(int16_t*)outBuffer,
|
||||||
outSize, convState);
|
outSize, convState);
|
||||||
if (len == 0)
|
if (len == 0)
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
|
Loading…
Reference in New Issue
Block a user