diff options
| author | Mingming Yin <mingming@codeaurora.org> | 2013-11-13 15:27:44 -0800 |
|---|---|---|
| committer | Steve Kondik <shade@chemlab.org> | 2013-12-27 17:11:11 -0800 |
| commit | 55a3ee8a78d74a1e5b280555dea4f7b05eef6022 (patch) | |
| tree | 0e7ef5e958243536e06f23a2ee5f4b4310dc5553 | |
| parent | 0d27bcbc289c656a1e63cc602380bdf9e2aa9061 (diff) | |
| download | android_hardware_libhardware_legacy-55a3ee8a78d74a1e5b280555dea4f7b05eef6022.tar.gz android_hardware_libhardware_legacy-55a3ee8a78d74a1e5b280555dea4f7b05eef6022.tar.bz2 android_hardware_libhardware_legacy-55a3ee8a78d74a1e5b280555dea4f7b05eef6022.zip | |
audio: Add support for DOLBY DD+ decoding
- Add DOLBY AC3/EAC3 format enums
- Use offload profile for DOLBY decoding
regardless of duration
Change-Id: I2c9738fa34635304aeca8fb529dbe8c2aa5e528d
| -rw-r--r-- | audio/Android.mk | 3 | ||||
| -rw-r--r-- | audio/AudioPolicyManagerBase.cpp | 12 |
2 files changed, 14 insertions, 1 deletions
diff --git a/audio/Android.mk b/audio/Android.mk index 1430471..c6bf3d7 100644 --- a/audio/Android.mk +++ b/audio/Android.mk @@ -46,6 +46,9 @@ LOCAL_CFLAGS += -DAUDIO_EXTN_FORMATS_ENABLED endif endif +ifneq ($(strip $(AUDIO_FEATURE_DISABLED_DS1_DOLBY_DDP)),true) +LOCAL_CFLAGS += -DAUDIO_EXTN_DS1_DOLBY_DDP_ENABLED +endif LOCAL_STATIC_LIBRARIES := libmedia_helper LOCAL_MODULE := libaudiopolicy_legacy diff --git a/audio/AudioPolicyManagerBase.cpp b/audio/AudioPolicyManagerBase.cpp index d648428..f423d66 100644 --- a/audio/AudioPolicyManagerBase.cpp +++ b/audio/AudioPolicyManagerBase.cpp @@ -1526,7 +1526,10 @@ bool AudioPolicyManagerBase::isOffloadSupported(const audio_offload_info_t& offl } } else if (offloadInfo.duration_us < OFFLOAD_DEFAULT_MIN_DURATION_SECS * 1000000) { ALOGV("Offload denied by duration < default min(=%u)", OFFLOAD_DEFAULT_MIN_DURATION_SECS); - return false; + //duration checks only valid for MP3/AAC formats, + //do not check duration for other audio formats, e.g. dolby AAC/AC3 and amrwb+ formats + if (offloadInfo.format == AUDIO_FORMAT_MP3 || offloadInfo.format == AUDIO_FORMAT_AAC) + return false; } // Do not allow offloading if one non offloadable effect is enabled. This prevents from @@ -3790,6 +3793,13 @@ const struct StringToEnum sOutChannelsNameToEnumTable[] = { STRING_TO_ENUM(AUDIO_CHANNEL_OUT_6POINT1), #endif STRING_TO_ENUM(AUDIO_CHANNEL_OUT_7POINT1), +#ifdef AUDIO_EXTN_DS1_DOLBY_DDP_ENABLED + STRING_TO_ENUM(AUDIO_CHANNEL_OUT_2POINT1), + STRING_TO_ENUM(AUDIO_CHANNEL_OUT_QUAD), + STRING_TO_ENUM(AUDIO_CHANNEL_OUT_SURROUND), + STRING_TO_ENUM(AUDIO_CHANNEL_OUT_PENTA), + STRING_TO_ENUM(AUDIO_CHANNEL_OUT_6POINT1), +#endif }; const struct StringToEnum sInChannelsNameToEnumTable[] = { |
