/**
* class CAudioIO
*/
-//LCOV_EXCL_START
-CAudioIO::CAudioIO() :
- mpPulseAudioClient(nullptr),
- __mIsInit(false) {
- mDirection = CAudioInfo::EAudioDirection::AUDIO_DIRECTION_MAX;
- mState = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE;
- mStatePrev = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE;
- mByPolicy = false;
-}
-//LCOV_EXCL_STOP
CAudioIO::CAudioIO(CAudioInfo& audioInfo) :
- mpPulseAudioClient(nullptr),
- __mIsInit(false) {
- mAudioInfo = audioInfo;
- mDirection = CAudioInfo::EAudioDirection::AUDIO_DIRECTION_MAX;
- mState = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE;
- mStatePrev = CAudioInfo::EAudioIOState::AUDIO_IO_STATE_NONE;
- mByPolicy = false;
+ mAudioInfo(audioInfo) {
}
void CAudioIO::setInit(bool flag) {
getAudioInfo().setAudioIndex(index);
if (mDirection == CAudioInfo::EAudioDirection::AUDIO_DIRECTION_IN) {
- sound_device_h device = NULL;
+ int device_id;
+ int method;
+ sound_effect_method_with_reference_e method_reference;
- if ((errorCode = sound_manager_get_echo_cancel_reference_device(stream_info, &device) != SOUND_MANAGER_ERROR_NONE))
- THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_ARGUMENT, "Can't get reference device [ret:%d]", errorCode); //LCOV_EXCL_LINE
+ if (sound_manager_get_effect_method(stream_info, &method) == SOUND_MANAGER_ERROR_NONE)
+ getAudioInfo().setEffectMethod(method);
- if (device) {
- int id;
+ if (sound_manager_get_effect_method_with_reference(stream_info, &method_reference, &device_id) == SOUND_MANAGER_ERROR_NONE)
+ getAudioInfo().setEffectMethodWithReference(method_reference, device_id);
+ }
+}
- if ((errorCode = sound_manager_get_device_id(device, &id) != SOUND_MANAGER_ERROR_NONE))
- THROW_ERROR_MSG_FORMAT(CAudioError::EError::ERROR_INVALID_OPERATION, "Can't get device id [ret:%d]", errorCode); //LCOV_EXCL_LINE
+void CAudioIO::onCorked(CPulseAudioClient* pClient, bool corked) {
+ assert(__mIsInit);
+ assert(pClient);
- getAudioInfo().bindEchoCancelReferenceDeviceId(id);
- }
- }
+ AUDIO_IO_LOGD("pClient(%p), corked(%d)", pClient, corked);
}