chore: Properly close usermedia/screen stream for 1v1/group calls.
This commit is contained in:
parent
4a5cf7d55d
commit
df426e763a
|
|
@ -84,10 +84,10 @@ class WrappedMediaStream {
|
|||
renderer.srcObject = null;
|
||||
if (isLocal()) {
|
||||
if (isWeb) {
|
||||
await stream?.dispose();
|
||||
await stopMediaStream(stream);
|
||||
} else {
|
||||
if (!isGroupCall) {
|
||||
await stream?.dispose();
|
||||
await stopMediaStream(stream);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -614,7 +614,7 @@ class GroupCall {
|
|||
calls.forEach((call) {
|
||||
call.removeLocalStream(call.localScreenSharingStream!);
|
||||
});
|
||||
stopMediaStream(localScreenshareStream!.stream);
|
||||
await stopMediaStream(localScreenshareStream?.stream);
|
||||
removeScreenshareStream(localScreenshareStream!);
|
||||
localScreenshareStream = null;
|
||||
localDesktopCapturerSourceId = null;
|
||||
|
|
@ -1094,8 +1094,8 @@ class GroupCall {
|
|||
onStreamRemoved.add(stream);
|
||||
|
||||
if (stream.isLocal()) {
|
||||
stream?.disposeRenderer();
|
||||
stream?.stream?.dispose();
|
||||
stream.disposeRenderer();
|
||||
stopMediaStream(stream.stream);
|
||||
}
|
||||
|
||||
onGroupCallEvent.add(GroupCallEvent.UserMediaStreamsChanged);
|
||||
|
|
@ -1186,7 +1186,10 @@ class GroupCall {
|
|||
|
||||
onStreamRemoved.add(stream);
|
||||
|
||||
stream.dispose();
|
||||
if (stream.isLocal()) {
|
||||
stream.disposeRenderer();
|
||||
stopMediaStream(stream.stream);
|
||||
}
|
||||
|
||||
onGroupCallEvent.add(GroupCallEvent.ScreenshareStreamsChanged);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
import 'package:random_string/random_string.dart';
|
||||
import 'package:webrtc_interface/webrtc_interface.dart';
|
||||
|
||||
void stopMediaStream(MediaStream? stream) async {
|
||||
Future<void> stopMediaStream(MediaStream? stream) async {
|
||||
stream?.getTracks().forEach((element) async {
|
||||
await element.stop();
|
||||
});
|
||||
await stream?.dispose();
|
||||
}
|
||||
|
||||
void setTracksEnabled(List<MediaStreamTrack> tracks, bool enabled) {
|
||||
|
|
|
|||
Loading…
Reference in New Issue