Loading media/libaudioclient/AudioSystem.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -1021,7 +1021,8 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, audio_port_handle_t* selectedDeviceId, audio_port_handle_t* portId, std::vector<audio_io_handle_t>* secondaryOutputs, bool *isSpatialized) { bool *isSpatialized, bool *isBitPerfect) { if (attr == nullptr) { ALOGE("%s NULL audio attributes", __func__); return BAD_VALUE; Loading Loading @@ -1084,6 +1085,7 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, *secondaryOutputs = VALUE_OR_RETURN_STATUS(convertContainer<std::vector<audio_io_handle_t>>( responseAidl.secondaryOutputs, aidl2legacy_int32_t_audio_io_handle_t)); *isSpatialized = responseAidl.isSpatialized; *isBitPerfect = responseAidl.isBitPerfect; return OK; } Loading media/libaudioclient/PolicyAidlConversion.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -477,6 +477,8 @@ aidl2legacy_AudioMixerBehavior_audio_mixer_behavior_t(media::AudioMixerBehavior switch (aidl) { case media::AudioMixerBehavior::DEFAULT: return AUDIO_MIXER_BEHAVIOR_DEFAULT; case media::AudioMixerBehavior::BIT_PERFECT: return AUDIO_MIXER_BEHAVIOR_BIT_PERFECT; case media::AudioMixerBehavior::INVALID: return AUDIO_MIXER_BEHAVIOR_INVALID; } Loading @@ -487,6 +489,8 @@ legacy2aidl_audio_mixer_behavior_t_AudioMixerBehavior(audio_mixer_behavior_t leg switch (legacy) { case AUDIO_MIXER_BEHAVIOR_DEFAULT: return media::AudioMixerBehavior::DEFAULT; case AUDIO_MIXER_BEHAVIOR_BIT_PERFECT: return media::AudioMixerBehavior::BIT_PERFECT; case AUDIO_MIXER_BEHAVIOR_INVALID: return media::AudioMixerBehavior::INVALID; } Loading media/libaudioclient/aidl/android/media/AudioMixerBehavior.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -30,4 +30,8 @@ enum AudioMixerBehavior { * different sources. */ DEFAULT = 0, /** * The audio data in the mixer will be bit-perfect as long as possible. */ BIT_PERFECT = 1, } media/libaudioclient/aidl/android/media/GetOutputForAttrResponse.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -36,4 +36,5 @@ parcelable GetOutputForAttrResponse { boolean isSpatialized; /** The suggested audio config if fails to get an output. **/ AudioConfigBase configBase; boolean isBitPerfect; } media/libaudioclient/include/media/AudioSystem.h +3 −1 Original line number Diff line number Diff line Loading @@ -301,6 +301,7 @@ public: * @param[out] portId the generated port id to identify the client * @param[out] secondaryOutputs collection of io handle for secondary outputs * @param[out] isSpatialized true if the playback will be spatialized * @param[out] isBitPerfect true if the playback will be bit-perfect * @return if the call is successful or not */ static status_t getOutputForAttr(audio_attributes_t *attr, Loading @@ -313,7 +314,8 @@ public: audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId, std::vector<audio_io_handle_t> *secondaryOutputs, bool *isSpatialized); bool *isSpatialized, bool *isBitPerfect); static status_t startOutput(audio_port_handle_t portId); static status_t stopOutput(audio_port_handle_t portId); static void releaseOutput(audio_port_handle_t portId); Loading Loading
media/libaudioclient/AudioSystem.cpp +3 −1 Original line number Diff line number Diff line Loading @@ -1021,7 +1021,8 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, audio_port_handle_t* selectedDeviceId, audio_port_handle_t* portId, std::vector<audio_io_handle_t>* secondaryOutputs, bool *isSpatialized) { bool *isSpatialized, bool *isBitPerfect) { if (attr == nullptr) { ALOGE("%s NULL audio attributes", __func__); return BAD_VALUE; Loading Loading @@ -1084,6 +1085,7 @@ status_t AudioSystem::getOutputForAttr(audio_attributes_t* attr, *secondaryOutputs = VALUE_OR_RETURN_STATUS(convertContainer<std::vector<audio_io_handle_t>>( responseAidl.secondaryOutputs, aidl2legacy_int32_t_audio_io_handle_t)); *isSpatialized = responseAidl.isSpatialized; *isBitPerfect = responseAidl.isBitPerfect; return OK; } Loading
media/libaudioclient/PolicyAidlConversion.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -477,6 +477,8 @@ aidl2legacy_AudioMixerBehavior_audio_mixer_behavior_t(media::AudioMixerBehavior switch (aidl) { case media::AudioMixerBehavior::DEFAULT: return AUDIO_MIXER_BEHAVIOR_DEFAULT; case media::AudioMixerBehavior::BIT_PERFECT: return AUDIO_MIXER_BEHAVIOR_BIT_PERFECT; case media::AudioMixerBehavior::INVALID: return AUDIO_MIXER_BEHAVIOR_INVALID; } Loading @@ -487,6 +489,8 @@ legacy2aidl_audio_mixer_behavior_t_AudioMixerBehavior(audio_mixer_behavior_t leg switch (legacy) { case AUDIO_MIXER_BEHAVIOR_DEFAULT: return media::AudioMixerBehavior::DEFAULT; case AUDIO_MIXER_BEHAVIOR_BIT_PERFECT: return media::AudioMixerBehavior::BIT_PERFECT; case AUDIO_MIXER_BEHAVIOR_INVALID: return media::AudioMixerBehavior::INVALID; } Loading
media/libaudioclient/aidl/android/media/AudioMixerBehavior.aidl +4 −0 Original line number Diff line number Diff line Loading @@ -30,4 +30,8 @@ enum AudioMixerBehavior { * different sources. */ DEFAULT = 0, /** * The audio data in the mixer will be bit-perfect as long as possible. */ BIT_PERFECT = 1, }
media/libaudioclient/aidl/android/media/GetOutputForAttrResponse.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -36,4 +36,5 @@ parcelable GetOutputForAttrResponse { boolean isSpatialized; /** The suggested audio config if fails to get an output. **/ AudioConfigBase configBase; boolean isBitPerfect; }
media/libaudioclient/include/media/AudioSystem.h +3 −1 Original line number Diff line number Diff line Loading @@ -301,6 +301,7 @@ public: * @param[out] portId the generated port id to identify the client * @param[out] secondaryOutputs collection of io handle for secondary outputs * @param[out] isSpatialized true if the playback will be spatialized * @param[out] isBitPerfect true if the playback will be bit-perfect * @return if the call is successful or not */ static status_t getOutputForAttr(audio_attributes_t *attr, Loading @@ -313,7 +314,8 @@ public: audio_port_handle_t *selectedDeviceId, audio_port_handle_t *portId, std::vector<audio_io_handle_t> *secondaryOutputs, bool *isSpatialized); bool *isSpatialized, bool *isBitPerfect); static status_t startOutput(audio_port_handle_t portId); static status_t stopOutput(audio_port_handle_t portId); static void releaseOutput(audio_port_handle_t portId); Loading