Added audio_bytes_per_sample() helper function
Change-Id: Ibfcd75c4c241a53d5f052c25ada091904991048a
diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp
index a41d7ab..03518bf 100644
--- a/media/libmedia/AudioRecord.cpp
+++ b/media/libmedia/AudioRecord.cpp
@@ -70,7 +70,7 @@
size <<= 1;
if (audio_is_linear_pcm(format)) {
- size /= channelCount * (format == AUDIO_FORMAT_PCM_16_BIT ? 2 : 1);
+ size /= channelCount * audio_bytes_per_sample(format);
}
*frameCount = size;
@@ -258,7 +258,7 @@
int AudioRecord::frameSize() const
{
if (audio_is_linear_pcm(mFormat)) {
- return channelCount()*((format() == AUDIO_FORMAT_PCM_8_BIT) ? sizeof(uint8_t) : sizeof(int16_t));
+ return channelCount()*audio_bytes_per_sample(mFormat);
} else {
return sizeof(uint8_t);
}
diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp
index 37fe182..5172809 100644
--- a/media/libmedia/AudioTrack.cpp
+++ b/media/libmedia/AudioTrack.cpp
@@ -298,7 +298,7 @@
int AudioTrack::frameSize() const
{
if (audio_is_linear_pcm(mFormat)) {
- return channelCount()*((format() == AUDIO_FORMAT_PCM_8_BIT) ? sizeof(uint8_t) : sizeof(int16_t));
+ return channelCount()*audio_bytes_per_sample(mFormat);
} else {
return sizeof(uint8_t);
}
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index 44df5b5..f716e63 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -2936,7 +2936,7 @@
mStreamType = streamType;
// NOTE: audio_track_cblk_t::frameSize for 8 bit PCM data is based on a sample size of
// 16 bit because data is converted to 16 bit before being stored in buffer by AudioTrack
- mCblk->frameSize = audio_is_linear_pcm(format) ? mChannelCount * sizeof(int16_t) : sizeof(int8_t);
+ mCblk->frameSize = audio_is_linear_pcm(format) ? mChannelCount * audio_bytes_per_sample(format) : sizeof(uint8_t);
}
}