From 128d8c7c15c0713cfccc42dfeea9b0cd9ed11d14 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 23 Sep 2008 23:59:54 +0200 Subject: audio_format: added audio_format_sample_size() The inline function audio_format_sample_size() calculates how many bytes each sample consumes. This function already takes into account that 24 bit samples are 4 bytes long, not 3. --- src/audioOutputs/audioOutput_alsa.c | 2 +- src/audioOutputs/audioOutput_osx.c | 2 +- src/audioOutputs/audioOutput_shout_mp3.c | 2 +- src/audioOutputs/audioOutput_shout_ogg.c | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) (limited to 'src/audioOutputs') diff --git a/src/audioOutputs/audioOutput_alsa.c b/src/audioOutputs/audioOutput_alsa.c index 83c4f228c..995ee3a9a 100644 --- a/src/audioOutputs/audioOutput_alsa.c +++ b/src/audioOutputs/audioOutput_alsa.c @@ -289,7 +289,7 @@ configure_hw: if (err < 0) goto error; - ad->sampleSize = (audioFormat->bits / 8) * audioFormat->channels; + ad->sampleSize = audio_format_sample_size(audioFormat) * audioFormat->channels; audioOutput->open = 1; diff --git a/src/audioOutputs/audioOutput_osx.c b/src/audioOutputs/audioOutput_osx.c index e8a65c453..2b17666ce 100644 --- a/src/audioOutputs/audioOutput_osx.c +++ b/src/audioOutputs/audioOutput_osx.c @@ -268,7 +268,7 @@ static int osx_openDevice(struct audio_output *audioOutput) #endif streamDesc.mBytesPerPacket = - audioFormat->channels * audioFormat->bits / 8; + audioFormat->channels * audio_format_sample_size(audioFormat); streamDesc.mFramesPerPacket = 1; streamDesc.mBytesPerFrame = streamDesc.mBytesPerPacket; streamDesc.mChannelsPerFrame = audioFormat->channels; diff --git a/src/audioOutputs/audioOutput_shout_mp3.c b/src/audioOutputs/audioOutput_shout_mp3.c index 7bc3b5fba..d3ec0b75b 100644 --- a/src/audioOutputs/audioOutput_shout_mp3.c +++ b/src/audioOutputs/audioOutput_shout_mp3.c @@ -141,7 +141,7 @@ static int shout_mp3_encoder_encode(struct shout_data *sd, float (*lamebuf)[2]; struct shout_buffer *buf = &(sd->buf); unsigned int samples; - int bytes = sd->audio_format.bits / 8; + int bytes = audio_format_sample_size(&sd->audio_format); struct lame_data *ld = (struct lame_data *)sd->encoder_data; int bytes_out; diff --git a/src/audioOutputs/audioOutput_shout_ogg.c b/src/audioOutputs/audioOutput_shout_ogg.c index 9605f9737..d8627a007 100644 --- a/src/audioOutputs/audioOutput_shout_ogg.c +++ b/src/audioOutputs/audioOutput_shout_ogg.c @@ -257,7 +257,7 @@ static int shout_ogg_encoder_encode(struct shout_data *sd, int j; float **vorbbuf; unsigned int samples; - int bytes = sd->audio_format.bits / 8; + int bytes = audio_format_sample_size(&sd->audio_format); struct ogg_vorbis_data *od = (struct ogg_vorbis_data *)sd->encoder_data; samples = size / (bytes * sd->audio_format.channels); -- cgit v1.2.3