From 40dd10d2e1f0e16855554fb6ee971eeff8ac8a0f Mon Sep 17 00:00:00 2001 From: cloudwebrtc Date: Wed, 31 Aug 2022 09:48:20 +0800 Subject: [PATCH] fix: release renderer to fix crashes on android. --- lib/src/voip/call.dart | 6 ++++++ lib/src/voip/group_call.dart | 2 ++ 2 files changed, 8 insertions(+) diff --git a/lib/src/voip/call.dart b/lib/src/voip/call.dart index a71d37d0..f6ec3f0a 100644 --- a/lib/src/voip/call.dart +++ b/lib/src/voip/call.dart @@ -89,6 +89,12 @@ class WrappedMediaStream { await stream?.dispose(); stream = null; } + await renderer.dispose(); + } + + Future disposeRenderer() async { + renderer.srcObject = null; + await renderer.dispose(); } Uri? get avatarUrl => getUser().avatarUrl; diff --git a/lib/src/voip/group_call.dart b/lib/src/voip/group_call.dart index d5852884..cb59ac19 100644 --- a/lib/src/voip/group_call.dart +++ b/lib/src/voip/group_call.dart @@ -1095,7 +1095,9 @@ class GroupCall { stream.stream!.getTracks().forEach((element) { element.stop(); }); + stream.stream!.dispose(); + stream.disposeRenderer(); onGroupCallEvent.add(GroupCallEvent.UserMediaStreamsChanged);