diff --git a/lib/src/voip/call.dart b/lib/src/voip/call.dart index 922c49c7..ebf533f6 100644 --- a/lib/src/voip/call.dart +++ b/lib/src/voip/call.dart @@ -1201,13 +1201,17 @@ class CallSession { } Future cleanUp() async { - for (final stream in streams) { - await stream.dispose(); - } - streams.clear(); - if (pc != null) { - await pc!.close(); - await pc!.dispose(); + try { + for (final stream in streams) { + await stream.dispose(); + } + streams.clear(); + if (pc != null) { + await pc!.close(); + await pc!.dispose(); + } + } catch (e) { + Logs().e('cleaning up streams failed', e); } } diff --git a/lib/src/voip/group_call.dart b/lib/src/voip/group_call.dart index d4429ed5..da4da9a1 100644 --- a/lib/src/voip/group_call.dart +++ b/lib/src/voip/group_call.dart @@ -211,7 +211,7 @@ class GroupCall { final CachedStreamController onGroupCallFeedsChanged = CachedStreamController(); - final CachedStreamController onGroupCallState = + final CachedStreamController onGroupCallState = CachedStreamController(); final CachedStreamController onGroupCallEvent = @@ -294,6 +294,7 @@ class GroupCall { void setState(String newState) { state = newState; + onGroupCallState.add(newState); onGroupCallEvent.add(GroupCallEvent.GroupCallStateChanged); }