Loading audio/7.0/types.hal +5 −3 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ enum Result : int32_t { NOT_SUPPORTED }; @export(name="audio_drain_type_t", value_prefix="AUDIO_DRAIN_") enum AudioDrain : int32_t { /** drain() returns when all data has been played. */ ALL, Loading Loading @@ -127,16 +126,18 @@ struct AudioMicrophoneCoordinate { * process (e.g. High Pass Filtering, dynamic compression) * Simple processing as constant gain adjustment must be DIRECT. */ @export(name="audio_microphone_channel_mapping_t", value_prefix="AUDIO_MICROPHONE_CHANNEL_MAPPING_") enum AudioMicrophoneChannelMapping : uint32_t { UNUSED = 0, /* Channel not used */ DIRECT = 1, /* Channel used and signal not processed */ PROCESSED = 2, /* Channel used and signal has some process */ PROCESSED = 2, /* Channel used and signal has some processing */ }; /** * Enum to identify locations of microphones in regards to the body of the * android device. */ @export(name="audio_microphone_location_t", value_prefix="AUDIO_MICROPHONE_LOCATION_") enum AudioMicrophoneLocation : uint32_t { UNKNOWN = 0, MAINBODY = 1, Loading @@ -153,6 +154,7 @@ typedef int32_t AudioMicrophoneGroup; /** * Enum with standard polar patterns of microphones */ @export(name="audio_microphone_directionality_t", value_prefix="AUDIO_MICROPHONE_DIRECTIONALITY_") enum AudioMicrophoneDirectionality : uint32_t { UNKNOWN = 0, OMNI = 1, Loading Loading @@ -315,7 +317,7 @@ enum TimestretchMode : int32_t { * Behavior when the values for speed and / or pitch are out * of applicable range. */ @export(name="audio_timestretch_fallback_mode_t", value_prefix="AUDIO_TIMESTRETCH_FALLBACK_") @export(name="", value_prefix="HAL_AUDIO_TIMESTRETCH_FALLBACK_") enum TimestretchFallbackMode : int32_t { // Need to be in sync with AUDIO_FALLBACK_MODE_* constants in // frameworks/base/media/java/android/media/PlaybackParams.java Loading audio/common/7.0/types.hal +23 −1 Original line number Diff line number Diff line Loading @@ -78,6 +78,7 @@ typedef string AudioSource; */ typedef int32_t AudioSession; @export(name="", value_prefix="HAL_AUDIO_SESSION_") enum AudioSessionConsts : int32_t { /** * Session for effects attached to a particular sink or source audio device Loading Loading @@ -137,7 +138,7 @@ struct AudioProfile { * Major modes for a mobile device. The current mode setting affects audio * routing. */ @export(name="audio_mode_t", value_prefix="AUDIO_MODE_") @export(name="", value_prefix="HAL_AUDIO_MODE_") enum AudioMode : int32_t { NORMAL = 0, RINGTONE = 1, Loading Loading @@ -221,6 +222,27 @@ enum AudioEncapsulationMode : int32_t { HANDLE = 2, }; /** * Enumeration of metadata types permitted for use by * encapsulation mode audio streams. */ @export(name="audio_encapsulation_metadata_type_t", value_prefix="AUDIO_ENCAPSULATION_METADATA_TYPE_") enum AudioEncapsulationMetadataType : int32_t { /** * No metadata. */ NONE = 0, /** * Encapsulation metadata type for framework tuner information. */ FRAMEWORK_TUNER = 1, /** * Encapsulation metadata type for DVB AD descriptor. * This metadata is formatted per ETSI TS 101 154 Table E.1: AD_descriptor. */ DVB_AD_DESCRIPTOR = 2, }; /** * Additional information about the stream passed to hardware decoders. */ Loading audio/core/all-versions/default/Conversions.cpp +3 −49 Original line number Diff line number Diff line Loading @@ -93,52 +93,6 @@ status_t deviceAddressFromHal(audio_devices_t device, const char* halAddress, return OK; } AudioMicrophoneChannelMapping halToChannelMapping(audio_microphone_channel_mapping_t mapping) { switch (mapping) { case AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED: return AudioMicrophoneChannelMapping::UNUSED; case AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT: return AudioMicrophoneChannelMapping::DIRECT; case AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED: return AudioMicrophoneChannelMapping::PROCESSED; default: ALOGE("Invalid channel mapping type: %d", mapping); return AudioMicrophoneChannelMapping::UNUSED; } } AudioMicrophoneLocation halToLocation(audio_microphone_location_t location) { switch (location) { default: case AUDIO_MICROPHONE_LOCATION_UNKNOWN: return AudioMicrophoneLocation::UNKNOWN; case AUDIO_MICROPHONE_LOCATION_MAINBODY: return AudioMicrophoneLocation::MAINBODY; case AUDIO_MICROPHONE_LOCATION_MAINBODY_MOVABLE: return AudioMicrophoneLocation::MAINBODY_MOVABLE; case AUDIO_MICROPHONE_LOCATION_PERIPHERAL: return AudioMicrophoneLocation::PERIPHERAL; } } AudioMicrophoneDirectionality halToDirectionality(audio_microphone_directionality_t dir) { switch (dir) { default: case AUDIO_MICROPHONE_DIRECTIONALITY_UNKNOWN: return AudioMicrophoneDirectionality::UNKNOWN; case AUDIO_MICROPHONE_DIRECTIONALITY_OMNI: return AudioMicrophoneDirectionality::OMNI; case AUDIO_MICROPHONE_DIRECTIONALITY_BI_DIRECTIONAL: return AudioMicrophoneDirectionality::BI_DIRECTIONAL; case AUDIO_MICROPHONE_DIRECTIONALITY_CARDIOID: return AudioMicrophoneDirectionality::CARDIOID; case AUDIO_MICROPHONE_DIRECTIONALITY_HYPER_CARDIOID: return AudioMicrophoneDirectionality::HYPER_CARDIOID; case AUDIO_MICROPHONE_DIRECTIONALITY_SUPER_CARDIOID: return AudioMicrophoneDirectionality::SUPER_CARDIOID; } } bool halToMicrophoneCharacteristics(MicrophoneInfo* pDst, const struct audio_microphone_characteristic_t& src) { bool status = false; Loading @@ -150,15 +104,15 @@ bool halToMicrophoneCharacteristics(MicrophoneInfo* pDst, } pDst->channelMapping.resize(AUDIO_CHANNEL_COUNT_MAX); for (size_t ch = 0; ch < pDst->channelMapping.size(); ch++) { pDst->channelMapping[ch] = halToChannelMapping(src.channel_mapping[ch]); pDst->channelMapping[ch] = AudioMicrophoneChannelMapping(src.channel_mapping[ch]); } pDst->location = halToLocation(src.location); pDst->location = AudioMicrophoneLocation(src.location); pDst->group = (AudioMicrophoneGroup)src.group; pDst->indexInTheGroup = (uint32_t)src.index_in_the_group; pDst->sensitivity = src.sensitivity; pDst->maxSpl = src.max_spl; pDst->minSpl = src.min_spl; pDst->directionality = halToDirectionality(src.directionality); pDst->directionality = AudioMicrophoneDirectionality(src.directionality); pDst->frequencyResponse.resize(src.num_frequency_responses); for (size_t k = 0; k < src.num_frequency_responses; k++) { pDst->frequencyResponse[k].frequency = src.frequency_responses[0][k]; Loading audio/core/all-versions/default/StreamOut.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -496,10 +496,10 @@ Return<bool> StreamOut::supportsDrain() { } Return<Result> StreamOut::drain(AudioDrain type) { audio_drain_type_t halDrainType = type == AudioDrain::EARLY_NOTIFY ? AUDIO_DRAIN_EARLY_NOTIFY : AUDIO_DRAIN_ALL; return mStream->drain != NULL ? Stream::analyzeStatus( "drain", mStream->drain(mStream, static_cast<audio_drain_type_t>(type)), ? Stream::analyzeStatus("drain", mStream->drain(mStream, halDrainType), {ENOSYS} /*ignore*/) : Result::NOT_SUPPORTED; } Loading update-base-files.sh +5 −2 Original line number Diff line number Diff line Loading @@ -41,9 +41,12 @@ hidl-gen $options \ android.hardware.graphics.common@1.2 # system/media hidl-gen $options \ -o $ANDROID_BUILD_TOP/system/media/audio/include/system/audio_common-base.h \ android.hardware.audio.common@7.0 hidl-gen $options \ -o $ANDROID_BUILD_TOP/system/media/audio/include/system/audio-base.h \ android.hardware.audio.common@2.0 android.hardware.audio@7.0 hidl-gen $options \ -o $ANDROID_BUILD_TOP/system/media/audio/include/system/audio_effect-base.h \ android.hardware.audio.effect@2.0 android.hardware.audio.effect@7.0 Loading
audio/7.0/types.hal +5 −3 Original line number Diff line number Diff line Loading @@ -30,7 +30,6 @@ enum Result : int32_t { NOT_SUPPORTED }; @export(name="audio_drain_type_t", value_prefix="AUDIO_DRAIN_") enum AudioDrain : int32_t { /** drain() returns when all data has been played. */ ALL, Loading Loading @@ -127,16 +126,18 @@ struct AudioMicrophoneCoordinate { * process (e.g. High Pass Filtering, dynamic compression) * Simple processing as constant gain adjustment must be DIRECT. */ @export(name="audio_microphone_channel_mapping_t", value_prefix="AUDIO_MICROPHONE_CHANNEL_MAPPING_") enum AudioMicrophoneChannelMapping : uint32_t { UNUSED = 0, /* Channel not used */ DIRECT = 1, /* Channel used and signal not processed */ PROCESSED = 2, /* Channel used and signal has some process */ PROCESSED = 2, /* Channel used and signal has some processing */ }; /** * Enum to identify locations of microphones in regards to the body of the * android device. */ @export(name="audio_microphone_location_t", value_prefix="AUDIO_MICROPHONE_LOCATION_") enum AudioMicrophoneLocation : uint32_t { UNKNOWN = 0, MAINBODY = 1, Loading @@ -153,6 +154,7 @@ typedef int32_t AudioMicrophoneGroup; /** * Enum with standard polar patterns of microphones */ @export(name="audio_microphone_directionality_t", value_prefix="AUDIO_MICROPHONE_DIRECTIONALITY_") enum AudioMicrophoneDirectionality : uint32_t { UNKNOWN = 0, OMNI = 1, Loading Loading @@ -315,7 +317,7 @@ enum TimestretchMode : int32_t { * Behavior when the values for speed and / or pitch are out * of applicable range. */ @export(name="audio_timestretch_fallback_mode_t", value_prefix="AUDIO_TIMESTRETCH_FALLBACK_") @export(name="", value_prefix="HAL_AUDIO_TIMESTRETCH_FALLBACK_") enum TimestretchFallbackMode : int32_t { // Need to be in sync with AUDIO_FALLBACK_MODE_* constants in // frameworks/base/media/java/android/media/PlaybackParams.java Loading
audio/common/7.0/types.hal +23 −1 Original line number Diff line number Diff line Loading @@ -78,6 +78,7 @@ typedef string AudioSource; */ typedef int32_t AudioSession; @export(name="", value_prefix="HAL_AUDIO_SESSION_") enum AudioSessionConsts : int32_t { /** * Session for effects attached to a particular sink or source audio device Loading Loading @@ -137,7 +138,7 @@ struct AudioProfile { * Major modes for a mobile device. The current mode setting affects audio * routing. */ @export(name="audio_mode_t", value_prefix="AUDIO_MODE_") @export(name="", value_prefix="HAL_AUDIO_MODE_") enum AudioMode : int32_t { NORMAL = 0, RINGTONE = 1, Loading Loading @@ -221,6 +222,27 @@ enum AudioEncapsulationMode : int32_t { HANDLE = 2, }; /** * Enumeration of metadata types permitted for use by * encapsulation mode audio streams. */ @export(name="audio_encapsulation_metadata_type_t", value_prefix="AUDIO_ENCAPSULATION_METADATA_TYPE_") enum AudioEncapsulationMetadataType : int32_t { /** * No metadata. */ NONE = 0, /** * Encapsulation metadata type for framework tuner information. */ FRAMEWORK_TUNER = 1, /** * Encapsulation metadata type for DVB AD descriptor. * This metadata is formatted per ETSI TS 101 154 Table E.1: AD_descriptor. */ DVB_AD_DESCRIPTOR = 2, }; /** * Additional information about the stream passed to hardware decoders. */ Loading
audio/core/all-versions/default/Conversions.cpp +3 −49 Original line number Diff line number Diff line Loading @@ -93,52 +93,6 @@ status_t deviceAddressFromHal(audio_devices_t device, const char* halAddress, return OK; } AudioMicrophoneChannelMapping halToChannelMapping(audio_microphone_channel_mapping_t mapping) { switch (mapping) { case AUDIO_MICROPHONE_CHANNEL_MAPPING_UNUSED: return AudioMicrophoneChannelMapping::UNUSED; case AUDIO_MICROPHONE_CHANNEL_MAPPING_DIRECT: return AudioMicrophoneChannelMapping::DIRECT; case AUDIO_MICROPHONE_CHANNEL_MAPPING_PROCESSED: return AudioMicrophoneChannelMapping::PROCESSED; default: ALOGE("Invalid channel mapping type: %d", mapping); return AudioMicrophoneChannelMapping::UNUSED; } } AudioMicrophoneLocation halToLocation(audio_microphone_location_t location) { switch (location) { default: case AUDIO_MICROPHONE_LOCATION_UNKNOWN: return AudioMicrophoneLocation::UNKNOWN; case AUDIO_MICROPHONE_LOCATION_MAINBODY: return AudioMicrophoneLocation::MAINBODY; case AUDIO_MICROPHONE_LOCATION_MAINBODY_MOVABLE: return AudioMicrophoneLocation::MAINBODY_MOVABLE; case AUDIO_MICROPHONE_LOCATION_PERIPHERAL: return AudioMicrophoneLocation::PERIPHERAL; } } AudioMicrophoneDirectionality halToDirectionality(audio_microphone_directionality_t dir) { switch (dir) { default: case AUDIO_MICROPHONE_DIRECTIONALITY_UNKNOWN: return AudioMicrophoneDirectionality::UNKNOWN; case AUDIO_MICROPHONE_DIRECTIONALITY_OMNI: return AudioMicrophoneDirectionality::OMNI; case AUDIO_MICROPHONE_DIRECTIONALITY_BI_DIRECTIONAL: return AudioMicrophoneDirectionality::BI_DIRECTIONAL; case AUDIO_MICROPHONE_DIRECTIONALITY_CARDIOID: return AudioMicrophoneDirectionality::CARDIOID; case AUDIO_MICROPHONE_DIRECTIONALITY_HYPER_CARDIOID: return AudioMicrophoneDirectionality::HYPER_CARDIOID; case AUDIO_MICROPHONE_DIRECTIONALITY_SUPER_CARDIOID: return AudioMicrophoneDirectionality::SUPER_CARDIOID; } } bool halToMicrophoneCharacteristics(MicrophoneInfo* pDst, const struct audio_microphone_characteristic_t& src) { bool status = false; Loading @@ -150,15 +104,15 @@ bool halToMicrophoneCharacteristics(MicrophoneInfo* pDst, } pDst->channelMapping.resize(AUDIO_CHANNEL_COUNT_MAX); for (size_t ch = 0; ch < pDst->channelMapping.size(); ch++) { pDst->channelMapping[ch] = halToChannelMapping(src.channel_mapping[ch]); pDst->channelMapping[ch] = AudioMicrophoneChannelMapping(src.channel_mapping[ch]); } pDst->location = halToLocation(src.location); pDst->location = AudioMicrophoneLocation(src.location); pDst->group = (AudioMicrophoneGroup)src.group; pDst->indexInTheGroup = (uint32_t)src.index_in_the_group; pDst->sensitivity = src.sensitivity; pDst->maxSpl = src.max_spl; pDst->minSpl = src.min_spl; pDst->directionality = halToDirectionality(src.directionality); pDst->directionality = AudioMicrophoneDirectionality(src.directionality); pDst->frequencyResponse.resize(src.num_frequency_responses); for (size_t k = 0; k < src.num_frequency_responses; k++) { pDst->frequencyResponse[k].frequency = src.frequency_responses[0][k]; Loading
audio/core/all-versions/default/StreamOut.cpp +4 −4 Original line number Diff line number Diff line Loading @@ -496,10 +496,10 @@ Return<bool> StreamOut::supportsDrain() { } Return<Result> StreamOut::drain(AudioDrain type) { audio_drain_type_t halDrainType = type == AudioDrain::EARLY_NOTIFY ? AUDIO_DRAIN_EARLY_NOTIFY : AUDIO_DRAIN_ALL; return mStream->drain != NULL ? Stream::analyzeStatus( "drain", mStream->drain(mStream, static_cast<audio_drain_type_t>(type)), ? Stream::analyzeStatus("drain", mStream->drain(mStream, halDrainType), {ENOSYS} /*ignore*/) : Result::NOT_SUPPORTED; } Loading
update-base-files.sh +5 −2 Original line number Diff line number Diff line Loading @@ -41,9 +41,12 @@ hidl-gen $options \ android.hardware.graphics.common@1.2 # system/media hidl-gen $options \ -o $ANDROID_BUILD_TOP/system/media/audio/include/system/audio_common-base.h \ android.hardware.audio.common@7.0 hidl-gen $options \ -o $ANDROID_BUILD_TOP/system/media/audio/include/system/audio-base.h \ android.hardware.audio.common@2.0 android.hardware.audio@7.0 hidl-gen $options \ -o $ANDROID_BUILD_TOP/system/media/audio/include/system/audio_effect-base.h \ android.hardware.audio.effect@2.0 android.hardware.audio.effect@7.0