Cleaning up/correcting some comments.

git-svn-id: https://svn.musicpd.org/mpd/trunk@6200 09075e82-0dd4-0310-85a5-a0d7c8717e4f
This commit is contained in:
J. Alexander Treuman 2007-05-22 15:21:56 +00:00
parent f2850a66f0
commit e6d7663b10

View File

@ -185,7 +185,7 @@ static int pcm_getSamplerateConverter(void)
} }
#endif #endif
/* outFormat bits must be 16 and channels must be 2! */ /* outFormat bits must be 16 and channels must be 1 or 2! */
void pcm_convertAudioFormat(AudioFormat * inFormat, char *inBuffer, void pcm_convertAudioFormat(AudioFormat * inFormat, char *inBuffer,
size_t inSize, AudioFormat * outFormat, size_t inSize, AudioFormat * outFormat,
char *outBuffer) char *outBuffer)
@ -202,7 +202,7 @@ void pcm_convertAudioFormat(AudioFormat * inFormat, char *inBuffer,
assert(outFormat->bits == 16); assert(outFormat->bits == 16);
assert(outFormat->channels == 2 || outFormat->channels == 1); assert(outFormat->channels == 2 || outFormat->channels == 1);
/* converts */ /* convert to 16 bit audio */
switch (inFormat->bits) { switch (inFormat->bits) {
case 8: case 8:
dataBitLen = inSize << 1; dataBitLen = inSize << 1;
@ -231,14 +231,13 @@ void pcm_convertAudioFormat(AudioFormat * inFormat, char *inBuffer,
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
/* converts only between 16 bit audio between mono and stereo */ /* convert audio between mono and stereo */
if (inFormat->channels == outFormat->channels) { if (inFormat->channels == outFormat->channels) {
dataChannelConv = dataBitConv; dataChannelConv = dataBitConv;
dataChannelLen = dataBitLen; dataChannelLen = dataBitLen;
} else { } else {
switch (inFormat->channels) { switch (inFormat->channels) {
/* convert from 1 -> 2 channels */ case 1: /* convert from 1 -> 2 channels */
case 1:
dataChannelLen = (dataBitLen >> 1) << 2; dataChannelLen = (dataBitLen >> 1) << 2;
if (dataChannelLen > channelConvBufferLength) { if (dataChannelLen > channelConvBufferLength) {
channelConvBuffer = xrealloc(channelConvBuffer, channelConvBuffer = xrealloc(channelConvBuffer,
@ -257,8 +256,7 @@ void pcm_convertAudioFormat(AudioFormat * inFormat, char *inBuffer,
} }
} }
break; break;
/* convert from 2 -> 1 channels */ case 2: /* convert from 2 -> 1 channels */
case 2:
dataChannelLen = dataBitLen >> 1; dataChannelLen = dataBitLen >> 1;
if (dataChannelLen > channelConvBufferLength) { if (dataChannelLen > channelConvBufferLength) {
channelConvBuffer = xrealloc(channelConvBuffer, channelConvBuffer = xrealloc(channelConvBuffer,
@ -278,8 +276,8 @@ void pcm_convertAudioFormat(AudioFormat * inFormat, char *inBuffer,
} }
break; break;
default: default:
ERROR ERROR("only 1 or 2 channels are supported for "
("only 1 or 2 channels are supported for conversion!\n"); "conversion!\n");
exit(EXIT_FAILURE); exit(EXIT_FAILURE);
} }
} }
@ -337,7 +335,6 @@ void pcm_convertAudioFormat(AudioFormat * inFormat, char *inBuffer,
src_float_to_short_array(data.data_out, (short *)outBuffer, data.output_frames * outFormat->channels); src_float_to_short_array(data.data_out, (short *)outBuffer, data.output_frames * outFormat->channels);
#else #else
/* only works if outFormat is 16-bit stereo! */
/* resampling code blatantly ripped from ESD */ /* resampling code blatantly ripped from ESD */
mpd_uint32 rd_dat = 0; mpd_uint32 rd_dat = 0;
mpd_uint32 wr_dat = 0; mpd_uint32 wr_dat = 0;