diff options
author | Sharad Sangle <assangle@codeaurora.org> | 2015-07-24 16:16:47 +0530 |
---|---|---|
committer | Linux Build Service Account <lnxbuild@localhost> | 2015-10-06 03:24:29 -0600 |
commit | 8d3e1e541aa6825007dda3c58cbc0900eca38d23 (patch) | |
tree | 05bf575eb249098b586805cbe0f7514e9036b400 | |
parent | 27734d306c1d89d1b145cc241a51c321807e3a1f (diff) | |
download | frameworks_av-8d3e1e541aa6825007dda3c58cbc0900eca38d23.zip frameworks_av-8d3e1e541aa6825007dda3c58cbc0900eca38d23.tar.gz frameworks_av-8d3e1e541aa6825007dda3c58cbc0900eca38d23.tar.bz2 |
audio: add support for ALAC decoding.
add support for decoding/offloading ALAC
audio formats
Change-Id: Id66f0cb6c140113741962e119148bf434de3d064
3 files changed, 9 insertions, 0 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp index 331e8ac..611bb0c 100644 --- a/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp +++ b/media/libmediaplayerservice/nuplayer/NuPlayerRenderer.cpp @@ -1658,11 +1658,13 @@ status_t NuPlayer::Renderer::onOpenAudioSink( "audio_format", mime.c_str()); onDisableOffloadAudio(); } else { + int32_t bitWidth = 16; ALOGV("Mime \"%s\" mapped to audio_format 0x%x", mime.c_str(), audioFormat); audioFormat = AVUtils::get()->updateAudioFormat(audioFormat, format); + bitWidth = AVUtils::get()->getPcmSampleBits(format); int avgBitRate = -1; format->findInt32("bit-rate", &avgBitRate); @@ -1686,6 +1688,7 @@ status_t NuPlayer::Renderer::onOpenAudioSink( offloadInfo.bit_rate = avgBitRate; offloadInfo.has_video = hasVideo; offloadInfo.is_streaming = true; + offloadInfo.bit_width = bitWidth; if (memcmp(&mCurrentOffloadInfo, &offloadInfo, sizeof(offloadInfo)) == 0) { ALOGV("openAudioSink: no change in offload mode"); diff --git a/services/audiopolicy/common/managerdefinitions/Android.mk b/services/audiopolicy/common/managerdefinitions/Android.mk index 7acc8d8..f4e81d8 100644 --- a/services/audiopolicy/common/managerdefinitions/Android.mk +++ b/services/audiopolicy/common/managerdefinitions/Android.mk @@ -41,6 +41,9 @@ endif ifeq ($(strip $(AUDIO_FEATURE_ENABLED_WMA_OFFLOAD)),true) LOCAL_CFLAGS += -DWMA_OFFLOAD_ENABLED endif +ifeq ($(strip $(AUDIO_FEATURE_ENABLED_ALAC_OFFLOAD)),true) +LOCAL_CFLAGS += -DALAC_OFFLOAD_ENABLED +endif endif LOCAL_MODULE := libaudiopolicycomponents diff --git a/services/audiopolicy/common/managerdefinitions/include/ConfigParsingUtils.h b/services/audiopolicy/common/managerdefinitions/include/ConfigParsingUtils.h index 3fe4cfe..a88a6d8 100644 --- a/services/audiopolicy/common/managerdefinitions/include/ConfigParsingUtils.h +++ b/services/audiopolicy/common/managerdefinitions/include/ConfigParsingUtils.h @@ -210,6 +210,9 @@ const StringToEnum sFormatNameToEnumTable[] = { #endif STRING_TO_ENUM(AUDIO_FORMAT_PCM_16_BIT_OFFLOAD), STRING_TO_ENUM(AUDIO_FORMAT_PCM_24_BIT_OFFLOAD), +#ifdef ALAC_OFFLOAD_ENABLED + STRING_TO_ENUM(AUDIO_FORMAT_ALAC), +#endif }; const StringToEnum sOutChannelsNameToEnumTable[] = { |