prop = g_strdup_printf("props,%s=%s, %s=%d", PA_PROP_MEDIA_ROLE, stream_type, PA_PROP_MEDIA_PARENT_ID, stream_index);
if (aec) {
prop_with_aec = g_strdup_printf("%s, %s=%s, %s=%d",
- prop, PA_PROP_MEDIA_ECHO_CANCEL_METHOD, "default", PA_PROP_MEDIA_ECHO_CANCEL_REFERENCE_DEVICE, aec_ref_device_id);
+ prop, PA_PROP_MEDIA_PREPROCESSOR_METHOD, "webrtc", PA_PROP_MEDIA_ECHO_CANCEL_REFERENCE_DEVICE, aec_ref_device_id);
}
RET_VAL_IF(!(structure = gst_structure_from_string(aec ? prop_with_aec : prop, NULL)),
char *stream_type;
int stream_index;
int aec_ref_device_id = 0;
+ sound_acoustic_echo_cancel_type_e aec_type;
RET_VAL_IF(webrtc == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "webrtc is NULL");
RET_VAL_IF((source = _get_slot_by_id(webrtc->gst.source_slots, source_id)) == NULL, WEBRTC_ERROR_INVALID_PARAMETER, "could not find source");
sound_manager_get_type_from_stream_information(stream_info, &stream_type);
sound_manager_get_index_from_stream_information(stream_info, &stream_index);
- sound_manager_get_echo_cancel_reference_device(stream_info, &aec_ref_device_id);
+ sound_manager_get_echo_cancel_reference_device(stream_info, &aec_ref_device_id, &aec_type);
ret = sound_manager_is_available_stream_information(stream_info, NATIVE_API_WEBRTC, &available);
if (ret != SOUND_MANAGER_ERROR_NONE) {
return WEBRTC_ERROR_INVALID_PARAMETER;
}
- LOG_INFO("webrtc[%p], source_id[%u], stream_info[%p, type:%s, index:%d, aec_ref_device_id:%d]",
- webrtc, source_id, stream_info, stream_type, stream_index, aec_ref_device_id);
+ LOG_INFO("webrtc[%p], source_id[%u], stream_info[%p, type:%s, index:%d, aec_ref_device_id:%d, aec_type:%d]",
+ webrtc, source_id, stream_info, stream_type, stream_index, aec_ref_device_id, aec_type);
return _apply_stream_info(element, stream_type, stream_index, aec_ref_device_id);
}
found = true;
- ret = sound_manager_set_echo_cancel_reference_device(stream_info, device);
+ ret = sound_manager_set_echo_cancel_reference_device(stream_info, device, SOUND_ACOUSTIC_ECHO_CANCEL_VOICE_CALL);
if (ret != SOUND_MANAGER_ERROR_NONE) {
g_printerr("failed to sound_manager_set_echo_cancel_reference_device()\n");
} else {