Loading media/libaudiohal/impl/DeviceHalAidl.cpp +49 −0 Original line number Diff line number Diff line Loading @@ -293,6 +293,9 @@ status_t DeviceHalAidl::setParameters(const String8& kvPairs) { if (status_t status = filterAndUpdateScreenParameters(parameters); status != OK) { ALOGW("%s: filtering or updating screen parameters failed: %d", __func__, status); } if (status_t status = filterAndUpdateTelephonyParameters(parameters); status != OK) { ALOGW("%s: filtering or updating telephony parameters failed: %d", __func__, status); } return parseAndSetVendorParameters(mVendorExt, mModule, parameters); } Loading Loading @@ -1351,6 +1354,52 @@ status_t DeviceHalAidl::filterAndUpdateScreenParameters(AudioParameter ¶mete return OK; } status_t DeviceHalAidl::filterAndUpdateTelephonyParameters(AudioParameter ¶meters) { TIME_CHECK(); using TtyMode = ITelephony::TelecomConfig::TtyMode; ITelephony::TelecomConfig telConfig; (void)VALUE_OR_RETURN_STATUS(filterOutAndProcessParameter<String8>( parameters, String8(AudioParameter::keyTtyMode), [&telConfig](const String8& mode) { if (mode == AudioParameter::valueTtyModeOff) { telConfig.ttyMode = TtyMode::OFF; return OK; } else if (mode == AudioParameter::valueTtyModeFull) { telConfig.ttyMode = TtyMode::FULL; return OK; } else if (mode == AudioParameter::valueTtyModeHco) { telConfig.ttyMode = TtyMode::HCO; return OK; } else if (mode == AudioParameter::valueTtyModeVco) { telConfig.ttyMode = TtyMode::VCO; return OK; } ALOGE("setParameters: parameter key \"%s\" has invalid value \"%s\"", AudioParameter::keyTtyMode, mode.c_str()); return BAD_VALUE; })); (void)VALUE_OR_RETURN_STATUS(filterOutAndProcessParameter<String8>( parameters, String8(AudioParameter::keyHacSetting), [&telConfig](const String8& onOrOff) { if (onOrOff == AudioParameter::valueHacOn) { telConfig.isHacEnabled = Boolean{ .value = true }; return OK; } else if (onOrOff == AudioParameter::valueHacOff) { telConfig.isHacEnabled = Boolean{ .value = false }; return OK; } ALOGE("setParameters: parameter key \"%s\" has invalid value \"%s\"", AudioParameter::keyHacSetting, onOrOff.c_str()); return BAD_VALUE; })); if (mTelephony != nullptr && telConfig != ITelephony::TelecomConfig{}) { ITelephony::TelecomConfig newTelConfig; return statusTFromBinderStatus( mTelephony->setTelecomConfig(telConfig, &newTelConfig)); } return OK; } status_t DeviceHalAidl::findOrCreatePatch( const AudioPatch& requestedPatch, AudioPatch* patch, bool* created) { std::set<int32_t> sourcePortConfigIds(requestedPatch.sourcePortConfigIds.begin(), Loading media/libaudiohal/impl/DeviceHalAidl.h +1 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,7 @@ class DeviceHalAidl : public DeviceHalInterface, public ConversionHelperAidl, status_t filterAndUpdateBtLeParameters(AudioParameter ¶meters); status_t filterAndUpdateBtScoParameters(AudioParameter ¶meters); status_t filterAndUpdateScreenParameters(AudioParameter ¶meters); status_t filterAndUpdateTelephonyParameters(AudioParameter ¶meters); status_t findOrCreatePatch( const std::set<int32_t>& sourcePortConfigIds, const std::set<int32_t>& sinkPortConfigIds, Loading media/libmediahelper/AudioParameter.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,14 @@ const char * const AudioParameter::keyBtScoWb = AUDIO_PARAMETER_KEY_BT_SCO_WB; const char * const AudioParameter::keyBtHfpEnable = AUDIO_PARAMETER_KEY_HFP_ENABLE; const char * const AudioParameter::keyBtHfpSamplingRate = AUDIO_PARAMETER_KEY_HFP_SET_SAMPLING_RATE; const char * const AudioParameter::keyBtHfpVolume = AUDIO_PARAMETER_KEY_HFP_VOLUME; const char * const AudioParameter::keyTtyMode = AUDIO_PARAMETER_KEY_TTY_MODE; const char * const AudioParameter::valueTtyModeOff = AUDIO_PARAMETER_VALUE_TTY_OFF; const char * const AudioParameter::valueTtyModeFull = AUDIO_PARAMETER_VALUE_TTY_FULL; const char * const AudioParameter::valueTtyModeHco = AUDIO_PARAMETER_VALUE_TTY_HCO; const char * const AudioParameter::valueTtyModeVco = AUDIO_PARAMETER_VALUE_TTY_VCO; const char * const AudioParameter::keyHacSetting = AUDIO_PARAMETER_KEY_HAC; const char * const AudioParameter::valueHacOff = AUDIO_PARAMETER_VALUE_HAC_OFF; const char * const AudioParameter::valueHacOn = AUDIO_PARAMETER_VALUE_HAC_ON; const char * const AudioParameter::keyHwAvSync = AUDIO_PARAMETER_HW_AV_SYNC; const char * const AudioParameter::keyPresentationId = AUDIO_PARAMETER_STREAM_PRESENTATION_ID; const char * const AudioParameter::keyProgramId = AUDIO_PARAMETER_STREAM_PROGRAM_ID; Loading media/libmediahelper/include/media/AudioParameter.h +10 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,16 @@ public: static const char * const keyBtHfpSamplingRate; static const char * const keyBtHfpVolume; static const char * const keyTtyMode; static const char * const valueTtyModeOff; static const char * const valueTtyModeFull; static const char * const valueTtyModeHco; static const char * const valueTtyModeVco; static const char * const keyHacSetting; static const char * const valueHacOff; static const char * const valueHacOn; // keyHwAvSync: get HW synchronization source identifier from a device // keyMonoOutput: Enable mono audio playback // keyStreamHwAvSync: set HW synchronization source identifier on a stream Loading Loading
media/libaudiohal/impl/DeviceHalAidl.cpp +49 −0 Original line number Diff line number Diff line Loading @@ -293,6 +293,9 @@ status_t DeviceHalAidl::setParameters(const String8& kvPairs) { if (status_t status = filterAndUpdateScreenParameters(parameters); status != OK) { ALOGW("%s: filtering or updating screen parameters failed: %d", __func__, status); } if (status_t status = filterAndUpdateTelephonyParameters(parameters); status != OK) { ALOGW("%s: filtering or updating telephony parameters failed: %d", __func__, status); } return parseAndSetVendorParameters(mVendorExt, mModule, parameters); } Loading Loading @@ -1351,6 +1354,52 @@ status_t DeviceHalAidl::filterAndUpdateScreenParameters(AudioParameter ¶mete return OK; } status_t DeviceHalAidl::filterAndUpdateTelephonyParameters(AudioParameter ¶meters) { TIME_CHECK(); using TtyMode = ITelephony::TelecomConfig::TtyMode; ITelephony::TelecomConfig telConfig; (void)VALUE_OR_RETURN_STATUS(filterOutAndProcessParameter<String8>( parameters, String8(AudioParameter::keyTtyMode), [&telConfig](const String8& mode) { if (mode == AudioParameter::valueTtyModeOff) { telConfig.ttyMode = TtyMode::OFF; return OK; } else if (mode == AudioParameter::valueTtyModeFull) { telConfig.ttyMode = TtyMode::FULL; return OK; } else if (mode == AudioParameter::valueTtyModeHco) { telConfig.ttyMode = TtyMode::HCO; return OK; } else if (mode == AudioParameter::valueTtyModeVco) { telConfig.ttyMode = TtyMode::VCO; return OK; } ALOGE("setParameters: parameter key \"%s\" has invalid value \"%s\"", AudioParameter::keyTtyMode, mode.c_str()); return BAD_VALUE; })); (void)VALUE_OR_RETURN_STATUS(filterOutAndProcessParameter<String8>( parameters, String8(AudioParameter::keyHacSetting), [&telConfig](const String8& onOrOff) { if (onOrOff == AudioParameter::valueHacOn) { telConfig.isHacEnabled = Boolean{ .value = true }; return OK; } else if (onOrOff == AudioParameter::valueHacOff) { telConfig.isHacEnabled = Boolean{ .value = false }; return OK; } ALOGE("setParameters: parameter key \"%s\" has invalid value \"%s\"", AudioParameter::keyHacSetting, onOrOff.c_str()); return BAD_VALUE; })); if (mTelephony != nullptr && telConfig != ITelephony::TelecomConfig{}) { ITelephony::TelecomConfig newTelConfig; return statusTFromBinderStatus( mTelephony->setTelecomConfig(telConfig, &newTelConfig)); } return OK; } status_t DeviceHalAidl::findOrCreatePatch( const AudioPatch& requestedPatch, AudioPatch* patch, bool* created) { std::set<int32_t> sourcePortConfigIds(requestedPatch.sourcePortConfigIds.begin(), Loading
media/libaudiohal/impl/DeviceHalAidl.h +1 −0 Original line number Diff line number Diff line Loading @@ -220,6 +220,7 @@ class DeviceHalAidl : public DeviceHalInterface, public ConversionHelperAidl, status_t filterAndUpdateBtLeParameters(AudioParameter ¶meters); status_t filterAndUpdateBtScoParameters(AudioParameter ¶meters); status_t filterAndUpdateScreenParameters(AudioParameter ¶meters); status_t filterAndUpdateTelephonyParameters(AudioParameter ¶meters); status_t findOrCreatePatch( const std::set<int32_t>& sourcePortConfigIds, const std::set<int32_t>& sinkPortConfigIds, Loading
media/libmediahelper/AudioParameter.cpp +8 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,14 @@ const char * const AudioParameter::keyBtScoWb = AUDIO_PARAMETER_KEY_BT_SCO_WB; const char * const AudioParameter::keyBtHfpEnable = AUDIO_PARAMETER_KEY_HFP_ENABLE; const char * const AudioParameter::keyBtHfpSamplingRate = AUDIO_PARAMETER_KEY_HFP_SET_SAMPLING_RATE; const char * const AudioParameter::keyBtHfpVolume = AUDIO_PARAMETER_KEY_HFP_VOLUME; const char * const AudioParameter::keyTtyMode = AUDIO_PARAMETER_KEY_TTY_MODE; const char * const AudioParameter::valueTtyModeOff = AUDIO_PARAMETER_VALUE_TTY_OFF; const char * const AudioParameter::valueTtyModeFull = AUDIO_PARAMETER_VALUE_TTY_FULL; const char * const AudioParameter::valueTtyModeHco = AUDIO_PARAMETER_VALUE_TTY_HCO; const char * const AudioParameter::valueTtyModeVco = AUDIO_PARAMETER_VALUE_TTY_VCO; const char * const AudioParameter::keyHacSetting = AUDIO_PARAMETER_KEY_HAC; const char * const AudioParameter::valueHacOff = AUDIO_PARAMETER_VALUE_HAC_OFF; const char * const AudioParameter::valueHacOn = AUDIO_PARAMETER_VALUE_HAC_ON; const char * const AudioParameter::keyHwAvSync = AUDIO_PARAMETER_HW_AV_SYNC; const char * const AudioParameter::keyPresentationId = AUDIO_PARAMETER_STREAM_PRESENTATION_ID; const char * const AudioParameter::keyProgramId = AUDIO_PARAMETER_STREAM_PROGRAM_ID; Loading
media/libmediahelper/include/media/AudioParameter.h +10 −0 Original line number Diff line number Diff line Loading @@ -69,6 +69,16 @@ public: static const char * const keyBtHfpSamplingRate; static const char * const keyBtHfpVolume; static const char * const keyTtyMode; static const char * const valueTtyModeOff; static const char * const valueTtyModeFull; static const char * const valueTtyModeHco; static const char * const valueTtyModeVco; static const char * const keyHacSetting; static const char * const valueHacOff; static const char * const valueHacOn; // keyHwAvSync: get HW synchronization source identifier from a device // keyMonoOutput: Enable mono audio playback // keyStreamHwAvSync: set HW synchronization source identifier on a stream Loading