diff options
author | Glenn Kasten <gkasten@google.com> | 2012-06-21 12:56:37 -0700 |
---|---|---|
committer | Glenn Kasten <gkasten@google.com> | 2012-11-14 16:45:53 -0800 |
commit | 60a839204713e0f8258d082af83262b1eb33a6c3 (patch) | |
tree | 5b8ef6ace475c96637bb6498b1c0a602611f9a58 /media | |
parent | 3b16c766d1ae2cfd8487e8ffb2b23936fc0a8e17 (diff) | |
download | frameworks_av-60a839204713e0f8258d082af83262b1eb33a6c3.zip frameworks_av-60a839204713e0f8258d082af83262b1eb33a6c3.tar.gz frameworks_av-60a839204713e0f8258d082af83262b1eb33a6c3.tar.bz2 |
Clean up frame size in AudioTrack and AudioFlinger
TrackBase::mFrameSize, mChannelMask, and mChannelCount are now const.
Use TrackBase::mFrameSize instead of re-calculating frame size.
AudioFlinger only sees 16-bit PCM format, conversion from 8-bit is
now entirely on the client side. Previously a small part of the
responsibility was on server side also.
size_t is unsigned, so use %u in logs.
Fix theoretical bug where TrackBase constructor was over-allocating space
for non-linear AudioTrack or 8-bit PCM AudioRecord (probably benign).
Change-Id: I7cbbba0bf4dba29ea751d8af341ab8e5cbbdc206
Diffstat (limited to 'media')
-rw-r--r-- | media/libmedia/AudioTrack.cpp | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp index 7480807..5fb36ee 100644 --- a/media/libmedia/AudioTrack.cpp +++ b/media/libmedia/AudioTrack.cpp @@ -858,7 +858,9 @@ status_t AudioTrack::createTrack_l( sp<IAudioTrack> track = audioFlinger->createTrack(getpid(), streamType, sampleRate, - format, + // AudioFlinger only sees 16-bit PCM + format == AUDIO_FORMAT_PCM_8_BIT ? + AUDIO_FORMAT_PCM_16_BIT : format, channelMask, frameCount, &trackFlags, |