From 1e90fcee93b9ebb606c29c3287de5123b0ff66ad Mon Sep 17 00:00:00 2001 From: td Date: Mon, 11 Mar 2024 10:45:43 +0530 Subject: [PATCH] chore: add noice/echo cancelling flags to getUserMedia --- lib/src/voip/call.dart | 19 +++++++++++++++++-- lib/src/voip/group_call.dart | 2 +- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/src/voip/call.dart b/lib/src/voip/call.dart index 5b88a87c..fd10290d 100644 --- a/lib/src/voip/call.dart +++ b/lib/src/voip/call.dart @@ -44,6 +44,21 @@ class CallTimeouts { static const delayBeforeOffer = Duration(milliseconds: 100); } +class UserMediaOptions { + static const optionalAudioConfig = { + 'echoCancellation': true, + 'googDAEchoCancellation': true, + 'googEchoCancellation': true, + 'googEchoCancellation2': true, + 'noiseSuppression': true, + 'googNoiseSuppression': true, + 'googNoiseSuppression2': true, + 'googAutoGainControl': true, + 'googHighpassFilter': true, + 'googTypingNoiseDetection': true, + }; +} + extension RTCIceCandidateExt on RTCIceCandidate { bool get isValid => sdpMLineIndex != null && @@ -1481,7 +1496,7 @@ class CallSession { 'minFrameRate': '30', }, 'facingMode': 'user', - 'optional': [], + 'optional': [UserMediaOptions.optionalAudioConfig], } : false, }; @@ -1566,7 +1581,7 @@ class CallSession { Map _getOfferAnswerConstraints({bool iceRestart = false}) { return { 'mandatory': {if (iceRestart) 'IceRestart': true}, - 'optional': [], + 'optional': [UserMediaOptions.optionalAudioConfig], }; } diff --git a/lib/src/voip/group_call.dart b/lib/src/voip/group_call.dart index 1c3cd7f6..44f364bb 100644 --- a/lib/src/voip/group_call.dart +++ b/lib/src/voip/group_call.dart @@ -324,7 +324,7 @@ class GroupCall { 'minFrameRate': '30', }, 'facingMode': 'user', - 'optional': [], + 'optional': [UserMediaOptions.optionalAudioConfig], } : false, };