diff options
author | Mikhail Naganov <mnaganov@google.com> | 2019-12-11 15:50:51 -0800 |
---|---|---|
committer | Mikhail Naganov <mnaganov@google.com> | 2019-12-11 15:57:53 -0800 |
commit | 4135fa4e590cd9cd24da0976a66a609cd838c383 (patch) | |
tree | 3cb3faf0ac6060e5d63d4779b8a743dae42b6242 /audio/core/all-versions/default/Device.cpp | |
parent | e9956686916dd96610e43f29a15ce53c9cbb89ac (diff) |
audio: Ignore ENOSYS from optional legacy HAL methods
Some methods of legacy HALs are optional. The legacy HAL
can avoid implementing them either by setting the function
entry in the interface table to NULL or by setting it
to a stub function returning -ENOSYS. In the latter case
the default implementation was spamming syslog with
warnings. Specify that ENOSYS returned from optional legacy
HAL methods must be ignored.
Bug: 141989952
Test: check logcat
Change-Id: Idbdff8d88e3303a0181cb5629ab82485148e6d8e
Diffstat (limited to 'audio/core/all-versions/default/Device.cpp')
-rw-r--r-- | audio/core/all-versions/default/Device.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/audio/core/all-versions/default/Device.cpp b/audio/core/all-versions/default/Device.cpp index 21dab00387..c6c9464656 100644 --- a/audio/core/all-versions/default/Device.cpp +++ b/audio/core/all-versions/default/Device.cpp @@ -84,26 +84,29 @@ Return<Result> Device::setMasterVolume(float volume) { ALOGW("Can not set a master volume (%f) outside [0,1]", volume); return Result::INVALID_ARGUMENTS; } - return analyzeStatus("set_master_volume", mDevice->set_master_volume(mDevice, volume)); + return analyzeStatus("set_master_volume", mDevice->set_master_volume(mDevice, volume), + {ENOSYS} /*ignore*/); } Return<void> Device::getMasterVolume(getMasterVolume_cb _hidl_cb) { Result retval(Result::NOT_SUPPORTED); float volume = 0; if (mDevice->get_master_volume != NULL) { - retval = analyzeStatus("get_master_volume", mDevice->get_master_volume(mDevice, &volume)); + retval = analyzeStatus("get_master_volume", mDevice->get_master_volume(mDevice, &volume), + {ENOSYS} /*ignore*/); } _hidl_cb(retval, volume); return Void(); } Return<Result> Device::setMicMute(bool mute) { - return analyzeStatus("set_mic_mute", mDevice->set_mic_mute(mDevice, mute)); + return analyzeStatus("set_mic_mute", mDevice->set_mic_mute(mDevice, mute), {ENOSYS} /*ignore*/); } Return<void> Device::getMicMute(getMicMute_cb _hidl_cb) { bool mute = false; - Result retval = analyzeStatus("get_mic_mute", mDevice->get_mic_mute(mDevice, &mute)); + Result retval = analyzeStatus("get_mic_mute", mDevice->get_mic_mute(mDevice, &mute), + {ENOSYS} /*ignore*/); _hidl_cb(retval, mute); return Void(); } @@ -111,7 +114,8 @@ Return<void> Device::getMicMute(getMicMute_cb _hidl_cb) { Return<Result> Device::setMasterMute(bool mute) { Result retval(Result::NOT_SUPPORTED); if (mDevice->set_master_mute != NULL) { - retval = analyzeStatus("set_master_mute", mDevice->set_master_mute(mDevice, mute)); + retval = analyzeStatus("set_master_mute", mDevice->set_master_mute(mDevice, mute), + {ENOSYS} /*ignore*/); } return retval; } @@ -120,7 +124,8 @@ Return<void> Device::getMasterMute(getMasterMute_cb _hidl_cb) { Result retval(Result::NOT_SUPPORTED); bool mute = false; if (mDevice->get_master_mute != NULL) { - retval = analyzeStatus("get_master_mute", mDevice->get_master_mute(mDevice, &mute)); + retval = analyzeStatus("get_master_mute", mDevice->get_master_mute(mDevice, &mute), + {ENOSYS} /*ignore*/); } _hidl_cb(retval, mute); return Void(); |