diff options
author | Mikhail Naganov <mnaganov@google.com> | 2019-02-22 14:28:26 -0800 |
---|---|---|
committer | Mikhail Naganov <mnaganov@google.com> | 2019-02-22 14:30:56 -0800 |
commit | fa02144f8d501c55fc85ca37f4cd283f8734b86b (patch) | |
tree | 71e52f2351d9d64dbd18eaa85324ab336bc1c5dc /audio | |
parent | fa4333b8e591db2f3c8636d932e98bf0a14c4e6d (diff) | |
download | android_hardware_interfaces-fa02144f8d501c55fc85ca37f4cd283f8734b86b.tar.gz android_hardware_interfaces-fa02144f8d501c55fc85ca37f4cd283f8734b86b.tar.bz2 android_hardware_interfaces-fa02144f8d501c55fc85ca37f4cd283f8734b86b.zip |
audio: Add support for dumping info from effect HAL modules
The implementation uses IBase::debug() method which can write
debugging info into the provided file descriptor (same model
as used for devices and streams).
Bug: 69939533
Test: adb shell dumpsys media.audio_flinger
Change-Id: I7876fd43a7066c0f081ea2ca0b3b4b37bbdf8e6c
Diffstat (limited to 'audio')
24 files changed, 70 insertions, 0 deletions
diff --git a/audio/effect/all-versions/default/AcousticEchoCancelerEffect.cpp b/audio/effect/all-versions/default/AcousticEchoCancelerEffect.cpp index 0b60622c0..137ea246f 100644 --- a/audio/effect/all-versions/default/AcousticEchoCancelerEffect.cpp +++ b/audio/effect/all-versions/default/AcousticEchoCancelerEffect.cpp @@ -165,6 +165,11 @@ Return<Result> AcousticEchoCancelerEffect::close() { return mEffect->close(); } +Return<void> AcousticEchoCancelerEffect::debug(const hidl_handle& fd, + const hidl_vec<hidl_string>& options) { + return mEffect->debug(fd, options); +} + // Methods from ::android::hardware::audio::effect::CPP_VERSION::IAcousticEchoCancelerEffect // follow. Return<Result> AcousticEchoCancelerEffect::setEchoDelay(uint32_t echoDelayMs) { diff --git a/audio/effect/all-versions/default/AcousticEchoCancelerEffect.h b/audio/effect/all-versions/default/AcousticEchoCancelerEffect.h index c18f88b27..971f64de8 100644 --- a/audio/effect/all-versions/default/AcousticEchoCancelerEffect.h +++ b/audio/effect/all-versions/default/AcousticEchoCancelerEffect.h @@ -88,6 +88,7 @@ struct AcousticEchoCancelerEffect : public IAcousticEchoCancelerEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Methods from // ::android::hardware::audio::effect::CPP_VERSION::IAcousticEchoCancelerEffect follow. diff --git a/audio/effect/all-versions/default/AutomaticGainControlEffect.cpp b/audio/effect/all-versions/default/AutomaticGainControlEffect.cpp index 651dd1b22..655a4cd0b 100644 --- a/audio/effect/all-versions/default/AutomaticGainControlEffect.cpp +++ b/audio/effect/all-versions/default/AutomaticGainControlEffect.cpp @@ -178,6 +178,11 @@ Return<Result> AutomaticGainControlEffect::close() { return mEffect->close(); } +Return<void> AutomaticGainControlEffect::debug(const hidl_handle& fd, + const hidl_vec<hidl_string>& options) { + return mEffect->debug(fd, options); +} + // Methods from ::android::hardware::audio::effect::CPP_VERSION::IAutomaticGainControlEffect // follow. Return<Result> AutomaticGainControlEffect::setTargetLevel(int16_t targetLevelMb) { diff --git a/audio/effect/all-versions/default/AutomaticGainControlEffect.h b/audio/effect/all-versions/default/AutomaticGainControlEffect.h index a281b1ddc..67e260aa2 100644 --- a/audio/effect/all-versions/default/AutomaticGainControlEffect.h +++ b/audio/effect/all-versions/default/AutomaticGainControlEffect.h @@ -90,6 +90,7 @@ struct AutomaticGainControlEffect : public IAutomaticGainControlEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Methods from // ::android::hardware::audio::effect::CPP_VERSION::IAutomaticGainControlEffect follow. diff --git a/audio/effect/all-versions/default/BassBoostEffect.cpp b/audio/effect/all-versions/default/BassBoostEffect.cpp index 6f7763db8..04fd48615 100644 --- a/audio/effect/all-versions/default/BassBoostEffect.cpp +++ b/audio/effect/all-versions/default/BassBoostEffect.cpp @@ -161,6 +161,10 @@ Return<Result> BassBoostEffect::close() { return mEffect->close(); } +Return<void> BassBoostEffect::debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) { + return mEffect->debug(fd, options); +} + // Methods from ::android::hardware::audio::effect::CPP_VERSION::IBassBoostEffect follow. Return<void> BassBoostEffect::isStrengthSupported(isStrengthSupported_cb _hidl_cb) { return mEffect->getIntegerParam(BASSBOOST_PARAM_STRENGTH_SUPPORTED, _hidl_cb); diff --git a/audio/effect/all-versions/default/BassBoostEffect.h b/audio/effect/all-versions/default/BassBoostEffect.h index a184ac2cc..b89bb2212 100644 --- a/audio/effect/all-versions/default/BassBoostEffect.h +++ b/audio/effect/all-versions/default/BassBoostEffect.h @@ -90,6 +90,7 @@ struct BassBoostEffect : public IBassBoostEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Methods from ::android::hardware::audio::effect::CPP_VERSION::IBassBoostEffect follow. Return<void> isStrengthSupported(isStrengthSupported_cb _hidl_cb) override; diff --git a/audio/effect/all-versions/default/DownmixEffect.cpp b/audio/effect/all-versions/default/DownmixEffect.cpp index 94da70e0d..c001a5f4d 100644 --- a/audio/effect/all-versions/default/DownmixEffect.cpp +++ b/audio/effect/all-versions/default/DownmixEffect.cpp @@ -161,6 +161,10 @@ Return<Result> DownmixEffect::close() { return mEffect->close(); } +Return<void> DownmixEffect::debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) { + return mEffect->debug(fd, options); +} + // Methods from ::android::hardware::audio::effect::CPP_VERSION::IDownmixEffect follow. Return<Result> DownmixEffect::setType(IDownmixEffect::Type preset) { return mEffect->setParam(DOWNMIX_PARAM_TYPE, static_cast<downmix_type_t>(preset)); diff --git a/audio/effect/all-versions/default/DownmixEffect.h b/audio/effect/all-versions/default/DownmixEffect.h index 6d34c28dd..40e462ea4 100644 --- a/audio/effect/all-versions/default/DownmixEffect.h +++ b/audio/effect/all-versions/default/DownmixEffect.h @@ -88,6 +88,7 @@ struct DownmixEffect : public IDownmixEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Methods from ::android::hardware::audio::effect::CPP_VERSION::IDownmixEffect follow. Return<Result> setType(IDownmixEffect::Type preset) override; diff --git a/audio/effect/all-versions/default/Effect.cpp b/audio/effect/all-versions/default/Effect.cpp index 84608b606..3c0d8788a 100644 --- a/audio/effect/all-versions/default/Effect.cpp +++ b/audio/effect/all-versions/default/Effect.cpp @@ -710,6 +710,14 @@ Return<Result> Effect::close() { return Result::OK; } +Return<void> Effect::debug(const hidl_handle& fd, const hidl_vec<hidl_string>& /* options */) { + if (fd.getNativeHandle() != nullptr && fd->numFds == 1) { + uint32_t cmdData = fd->data[0]; + (void)sendCommand(EFFECT_CMD_DUMP, "DUMP", sizeof(cmdData), &cmdData); + } + return Void(); +} + } // namespace implementation } // namespace CPP_VERSION } // namespace effect diff --git a/audio/effect/all-versions/default/Effect.h b/audio/effect/all-versions/default/Effect.h index 1a2b0393a..3d99a0e42 100644 --- a/audio/effect/all-versions/default/Effect.h +++ b/audio/effect/all-versions/default/Effect.h @@ -101,6 +101,7 @@ struct Effect : public IEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Utility methods for extending interfaces. template <typename T> diff --git a/audio/effect/all-versions/default/EnvironmentalReverbEffect.cpp b/audio/effect/all-versions/default/EnvironmentalReverbEffect.cpp index 1ade7b810..78122d4b7 100644 --- a/audio/effect/all-versions/default/EnvironmentalReverbEffect.cpp +++ b/audio/effect/all-versions/default/EnvironmentalReverbEffect.cpp @@ -193,6 +193,11 @@ Return<Result> EnvironmentalReverbEffect::close() { return mEffect->close(); } +Return<void> EnvironmentalReverbEffect::debug(const hidl_handle& fd, + const hidl_vec<hidl_string>& options) { + return mEffect->debug(fd, options); +} + // Methods from ::android::hardware::audio::effect::CPP_VERSION::IEnvironmentalReverbEffect // follow. Return<Result> EnvironmentalReverbEffect::setBypass(bool bypass) { diff --git a/audio/effect/all-versions/default/EnvironmentalReverbEffect.h b/audio/effect/all-versions/default/EnvironmentalReverbEffect.h index d06c3fc77..bb422d46b 100644 --- a/audio/effect/all-versions/default/EnvironmentalReverbEffect.h +++ b/audio/effect/all-versions/default/EnvironmentalReverbEffect.h @@ -92,6 +92,7 @@ struct EnvironmentalReverbEffect : public IEnvironmentalReverbEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Methods from // ::android::hardware::audio::effect::CPP_VERSION::IEnvironmentalReverbEffect follow. diff --git a/audio/effect/all-versions/default/EqualizerEffect.cpp b/audio/effect/all-versions/default/EqualizerEffect.cpp index f6177b79b..1b983ec5e 100644 --- a/audio/effect/all-versions/default/EqualizerEffect.cpp +++ b/audio/effect/all-versions/default/EqualizerEffect.cpp @@ -184,6 +184,10 @@ Return<Result> EqualizerEffect::close() { return mEffect->close(); } +Return<void> EqualizerEffect::debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) { + return mEffect->debug(fd, options); +} + // Methods from ::android::hardware::audio::effect::CPP_VERSION::IEqualizerEffect follow. Return<void> EqualizerEffect::getNumBands(getNumBands_cb _hidl_cb) { return mEffect->getIntegerParam(EQ_PARAM_NUM_BANDS, _hidl_cb); diff --git a/audio/effect/all-versions/default/EqualizerEffect.h b/audio/effect/all-versions/default/EqualizerEffect.h index 318c0dbfd..b1cbefd1f 100644 --- a/audio/effect/all-versions/default/EqualizerEffect.h +++ b/audio/effect/all-versions/default/EqualizerEffect.h @@ -92,6 +92,7 @@ struct EqualizerEffect : public IEqualizerEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Methods from ::android::hardware::audio::effect::CPP_VERSION::IEqualizerEffect follow. Return<void> getNumBands(getNumBands_cb _hidl_cb) override; diff --git a/audio/effect/all-versions/default/LoudnessEnhancerEffect.cpp b/audio/effect/all-versions/default/LoudnessEnhancerEffect.cpp index 6918bdf53..ebd519766 100644 --- a/audio/effect/all-versions/default/LoudnessEnhancerEffect.cpp +++ b/audio/effect/all-versions/default/LoudnessEnhancerEffect.cpp @@ -164,6 +164,11 @@ Return<Result> LoudnessEnhancerEffect::close() { return mEffect->close(); } +Return<void> LoudnessEnhancerEffect::debug(const hidl_handle& fd, + const hidl_vec<hidl_string>& options) { + return mEffect->debug(fd, options); +} + // Methods from ::android::hardware::audio::effect::CPP_VERSION::ILoudnessEnhancerEffect // follow. Return<Result> LoudnessEnhancerEffect::setTargetGain(int32_t targetGainMb) { diff --git a/audio/effect/all-versions/default/LoudnessEnhancerEffect.h b/audio/effect/all-versions/default/LoudnessEnhancerEffect.h index 06c521ca8..8baf12839 100644 --- a/audio/effect/all-versions/default/LoudnessEnhancerEffect.h +++ b/audio/effect/all-versions/default/LoudnessEnhancerEffect.h @@ -88,6 +88,7 @@ struct LoudnessEnhancerEffect : public ILoudnessEnhancerEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Methods from ::android::hardware::audio::effect::CPP_VERSION::ILoudnessEnhancerEffect // follow. diff --git a/audio/effect/all-versions/default/NoiseSuppressionEffect.cpp b/audio/effect/all-versions/default/NoiseSuppressionEffect.cpp index 475671966..d01bbe5e9 100644 --- a/audio/effect/all-versions/default/NoiseSuppressionEffect.cpp +++ b/audio/effect/all-versions/default/NoiseSuppressionEffect.cpp @@ -173,6 +173,11 @@ Return<Result> NoiseSuppressionEffect::close() { return mEffect->close(); } +Return<void> NoiseSuppressionEffect::debug(const hidl_handle& fd, + const hidl_vec<hidl_string>& options) { + return mEffect->debug(fd, options); +} + // Methods from ::android::hardware::audio::effect::CPP_VERSION::INoiseSuppressionEffect // follow. Return<Result> NoiseSuppressionEffect::setSuppressionLevel(INoiseSuppressionEffect::Level level) { diff --git a/audio/effect/all-versions/default/NoiseSuppressionEffect.h b/audio/effect/all-versions/default/NoiseSuppressionEffect.h index f31ba3b92..c49bf7bd6 100644 --- a/audio/effect/all-versions/default/NoiseSuppressionEffect.h +++ b/audio/effect/all-versions/default/NoiseSuppressionEffect.h @@ -90,6 +90,7 @@ struct NoiseSuppressionEffect : public INoiseSuppressionEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Methods from ::android::hardware::audio::effect::CPP_VERSION::INoiseSuppressionEffect // follow. diff --git a/audio/effect/all-versions/default/PresetReverbEffect.cpp b/audio/effect/all-versions/default/PresetReverbEffect.cpp index 97723f5fb..4a2a3a42a 100644 --- a/audio/effect/all-versions/default/PresetReverbEffect.cpp +++ b/audio/effect/all-versions/default/PresetReverbEffect.cpp @@ -161,6 +161,11 @@ Return<Result> PresetReverbEffect::close() { return mEffect->close(); } +Return<void> PresetReverbEffect::debug(const hidl_handle& fd, + const hidl_vec<hidl_string>& options) { + return mEffect->debug(fd, options); +} + // Methods from ::android::hardware::audio::effect::CPP_VERSION::IPresetReverbEffect follow. Return<Result> PresetReverbEffect::setPreset(IPresetReverbEffect::Preset preset) { return mEffect->setParam(REVERB_PARAM_PRESET, static_cast<t_reverb_presets>(preset)); diff --git a/audio/effect/all-versions/default/PresetReverbEffect.h b/audio/effect/all-versions/default/PresetReverbEffect.h index 897197682..58a6829a8 100644 --- a/audio/effect/all-versions/default/PresetReverbEffect.h +++ b/audio/effect/all-versions/default/PresetReverbEffect.h @@ -88,6 +88,7 @@ struct PresetReverbEffect : public IPresetReverbEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Methods from ::android::hardware::audio::effect::CPP_VERSION::IPresetReverbEffect // follow. diff --git a/audio/effect/all-versions/default/VirtualizerEffect.cpp b/audio/effect/all-versions/default/VirtualizerEffect.cpp index 4d597c76e..1b69a9033 100644 --- a/audio/effect/all-versions/default/VirtualizerEffect.cpp +++ b/audio/effect/all-versions/default/VirtualizerEffect.cpp @@ -173,6 +173,10 @@ Return<Result> VirtualizerEffect::close() { return mEffect->close(); } +Return<void> VirtualizerEffect::debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) { + return mEffect->debug(fd, options); +} + // Methods from ::android::hardware::audio::effect::CPP_VERSION::IVirtualizerEffect follow. Return<bool> VirtualizerEffect::isStrengthSupported() { bool halSupported = false; diff --git a/audio/effect/all-versions/default/VirtualizerEffect.h b/audio/effect/all-versions/default/VirtualizerEffect.h index e7302f9f8..c630b2e35 100644 --- a/audio/effect/all-versions/default/VirtualizerEffect.h +++ b/audio/effect/all-versions/default/VirtualizerEffect.h @@ -89,6 +89,7 @@ struct VirtualizerEffect : public IVirtualizerEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Methods from ::android::hardware::audio::effect::CPP_VERSION::IVirtualizerEffect // follow. diff --git a/audio/effect/all-versions/default/VisualizerEffect.cpp b/audio/effect/all-versions/default/VisualizerEffect.cpp index 77bf46bcd..ae533bf94 100644 --- a/audio/effect/all-versions/default/VisualizerEffect.cpp +++ b/audio/effect/all-versions/default/VisualizerEffect.cpp @@ -162,6 +162,10 @@ Return<Result> VisualizerEffect::close() { return mEffect->close(); } +Return<void> VisualizerEffect::debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) { + return mEffect->debug(fd, options); +} + // Methods from ::android::hardware::audio::effect::CPP_VERSION::IVisualizerEffect follow. Return<Result> VisualizerEffect::setCaptureSize(uint16_t captureSize) { Result retval = mEffect->setParam(VISUALIZER_PARAM_CAPTURE_SIZE, captureSize); diff --git a/audio/effect/all-versions/default/VisualizerEffect.h b/audio/effect/all-versions/default/VisualizerEffect.h index 42c77a210..315f84452 100644 --- a/audio/effect/all-versions/default/VisualizerEffect.h +++ b/audio/effect/all-versions/default/VisualizerEffect.h @@ -88,6 +88,7 @@ struct VisualizerEffect : public IVisualizerEffect { Return<Result> setCurrentConfigForFeature(uint32_t featureId, const hidl_vec<uint8_t>& configData) override; Return<Result> close() override; + Return<void> debug(const hidl_handle& fd, const hidl_vec<hidl_string>& options) override; // Methods from ::android::hardware::audio::effect::CPP_VERSION::IVisualizerEffect follow. Return<Result> setCaptureSize(uint16_t captureSize) override; |