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
This commit is contained in:
Mikhail Naganov
2019-02-22 14:28:26 -08:00
parent fa4333b8e5
commit fa02144f8d
24 changed files with 70 additions and 0 deletions

View File

@@ -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) {

View File

@@ -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.

View File

@@ -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) {

View File

@@ -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.

View File

@@ -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);

View File

@@ -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;

View File

@@ -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));

View File

@@ -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;

View File

@@ -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

View File

@@ -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>

View File

@@ -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) {

View File

@@ -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.

View File

@@ -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);

View File

@@ -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;

View File

@@ -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) {

View File

@@ -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.

View File

@@ -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) {

View File

@@ -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.

View File

@@ -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));

View File

@@ -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.

View File

@@ -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;

View File

@@ -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.

View File

@@ -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);

View File

@@ -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;