+std::string CAudioInfo::getEffectMethod() noexcept {
+ std::string method;
+
+ if (__mEffectMethod & SOUND_EFFECT_NOISE_SUPPRESSION_VOIP)
+ method += "ns-rnnoise,";
+
+ if (__mEffectMethod & SOUND_EFFECT_NOISE_SUPPRESSION_VOICE_RECOGNITION)
+ method += "ns-pse,";
+
+ if (__mEffectMethod & SOUND_EFFECT_NOISE_SUPPRESSION_DOORBELL)
+ method += "ns-srid,";
+
+ if (__mEffectMethod & SOUND_EFFECT_AUTOMATIC_GAIN_CONTROL_CAPTURE)
+ method += "agc-speex,";
+
+ return method;
+}
+
+void CAudioInfo::setEffectMethodWithReference(sound_effect_method_with_reference_e method, int id) noexcept {
+ __mEffectMethodWithReference = method;
+ __mEffectMethodReferenceDeviceId = id;
+}
+
+std::pair<std::string, int> CAudioInfo::getEffectMethodWithReference() noexcept {
+ std::string method;
+
+ if (__mEffectMethodWithReference == SOUND_EFFECT_REFERENCE_COPY)
+ method += "reference_copy,";
+ else if (__mEffectMethodWithReference == SOUND_EFFECT_ACOUSTIC_ECHO_CANCEL_SPEEX)
+ method += "aec-speex,";
+ else if (__mEffectMethodWithReference == SOUND_EFFECT_ACOUSTIC_ECHO_CANCEL_WEBRTC)
+ method += "aec-webrtc,";
+
+ return make_pair(method, __mEffectMethodReferenceDeviceId);
+}
+
+const char* CAudioInfo::getConvertedStreamType() {
+ if (__mAudioType < CAudioInfo::EAudioType::AUDIO_IN_TYPE_MEDIA ||
+ __mAudioType >= CAudioInfo::EAudioType::AUDIO_TYPE_MAX)