Merge branch 'duan/skip-invalid-ice-candidate' into 'main'

fix: skip invalid candidate.

See merge request famedly/company/frontend/famedlysdk!1246
This commit is contained in:
Nicolas Werner 2023-03-02 18:50:19 +00:00
commit 03826e6d47
1 changed files with 14 additions and 0 deletions

View File

@ -44,6 +44,14 @@ class Timeouts {
static const delayBeforeOfferMs = 100; static const delayBeforeOfferMs = 100;
} }
extension RTCIceCandidateExt on RTCIceCandidate {
bool get isValid =>
sdpMLineIndex != null &&
sdpMid != null &&
candidate != null &&
candidate!.isNotEmpty;
}
/// Wrapped MediaStream, used to adapt Widget to display /// Wrapped MediaStream, used to adapt Widget to display
class WrappedMediaStream { class WrappedMediaStream {
MediaStream? stream; MediaStream? stream;
@ -716,6 +724,12 @@ class CallSession {
json['sdpMLineIndex']?.round() ?? 0, json['sdpMLineIndex']?.round() ?? 0,
); );
if (!candidate.isValid) {
Logs().w(
'[VOIP] onCandidatesReceived => skip invalid candidate $candidate');
continue;
}
if (direction == CallDirection.kOutgoing && if (direction == CallDirection.kOutgoing &&
pc != null && pc != null &&
await pc!.getRemoteDescription() == null) { await pc!.getRemoteDescription() == null) {