aboutsummaryrefslogtreecommitdiffstats
path: root/src/audioOutputs
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2008-10-10 14:41:37 +0200
committerMax Kellermann <max@duempel.org>2008-10-10 14:41:37 +0200
commit96155a3376ef40eac9ca7a7b882da6447ab53979 (patch)
treeb30e5248b366b12ef860c65ea3640598f3b73658 /src/audioOutputs
parentde2cb3f37568e7680549057f8d7b6d748c388480 (diff)
downloadmpd-96155a3376ef40eac9ca7a7b882da6447ab53979.tar.gz
mpd-96155a3376ef40eac9ca7a7b882da6447ab53979.tar.xz
mpd-96155a3376ef40eac9ca7a7b882da6447ab53979.zip
audio_format: added audio_format_frame_size()
A frame contains one sample per channel, thus it is sample_size * channels. This patch includes some cleanup for various locations where the sample size for 24 bit audio was still 3 bytes (instead of 4).
Diffstat (limited to '')
-rw-r--r--src/audioOutputs/audioOutput_alsa.c2
-rw-r--r--src/audioOutputs/audioOutput_osx.c5
2 files changed, 3 insertions, 4 deletions
diff --git a/src/audioOutputs/audioOutput_alsa.c b/src/audioOutputs/audioOutput_alsa.c
index 30ad449f3..9d47ff244 100644
--- a/src/audioOutputs/audioOutput_alsa.c
+++ b/src/audioOutputs/audioOutput_alsa.c
@@ -288,7 +288,7 @@ configure_hw:
if (err < 0)
goto error;
- ad->sampleSize = audio_format_sample_size(audioFormat) * audioFormat->channels;
+ ad->sampleSize = audio_format_frame_size(audioFormat);
DEBUG("ALSA device \"%s\" will be playing %i bit, %u channel audio at "
"%u Hz\n", ad->device, audioFormat->bits,
diff --git a/src/audioOutputs/audioOutput_osx.c b/src/audioOutputs/audioOutput_osx.c
index 1fc0a5d9e..65060cc8c 100644
--- a/src/audioOutputs/audioOutput_osx.c
+++ b/src/audioOutputs/audioOutput_osx.c
@@ -266,8 +266,7 @@ static int osx_openDevice(struct audio_output *audioOutput,
streamDesc.mFormatFlags |= kLinearPCMFormatFlagIsBigEndian;
#endif
- streamDesc.mBytesPerPacket =
- audioFormat->channels * audio_format_sample_size(audioFormat);
+ streamDesc.mBytesPerPacket = audio_format_frame_size(audioFormat);
streamDesc.mFramesPerPacket = 1;
streamDesc.mBytesPerFrame = streamDesc.mBytesPerPacket;
streamDesc.mChannelsPerFrame = audioFormat->channels;
@@ -284,7 +283,7 @@ static int osx_openDevice(struct audio_output *audioOutput,
/* create a buffer of 1s */
od->bufferSize = (audioFormat->sample_rate) *
- (audioFormat->bits >> 3) * (audioFormat->channels);
+ audio_format_frame_size(audioFormat);
od->buffer = xrealloc(od->buffer, od->bufferSize);
od->pos = 0;