From ab2999fa673a2ec33fd0051e66bb2b680f3ace45 Mon Sep 17 00:00:00 2001 From: Brazol Date: Wed, 8 May 2024 13:26:27 +0200 Subject: [PATCH] using correct code to disconnect from WS --- .../stream_video/lib/src/call/session/call_session.dart | 5 ++++- packages/stream_video/lib/src/webrtc/peer_connection.dart | 1 + packages/stream_video/lib/src/ws/ws.dart | 7 +++++++ 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/stream_video/lib/src/call/session/call_session.dart b/packages/stream_video/lib/src/call/session/call_session.dart index 37db17563..228a77033 100644 --- a/packages/stream_video/lib/src/call/session/call_session.dart +++ b/packages/stream_video/lib/src/call/session/call_session.dart @@ -31,6 +31,7 @@ import '../../webrtc/peer_connection.dart'; import '../../webrtc/rtc_manager.dart'; import '../../webrtc/rtc_manager_factory.dart'; import '../../webrtc/sdp/editor/sdp_editor.dart'; +import '../../ws/ws.dart'; import '../state/call_state_notifier.dart'; import 'call_session_config.dart'; @@ -238,7 +239,9 @@ class CallSession extends Disposable { eventsSubscription = null; await _statsSubscription?.cancel(); _statsSubscription = null; - await sfuWS.disconnect(); + await sfuWS.disconnect( + StreamWebSocketCloseCode.closeSocketFromClient.value, + ); await rtcManager?.dispose(); rtcManager = null; _peerConnectionCheckTimer?.cancel(); diff --git a/packages/stream_video/lib/src/webrtc/peer_connection.dart b/packages/stream_video/lib/src/webrtc/peer_connection.dart index ae603ba25..1b6cde93d 100644 --- a/packages/stream_video/lib/src/webrtc/peer_connection.dart +++ b/packages/stream_video/lib/src/webrtc/peer_connection.dart @@ -277,6 +277,7 @@ class StreamPeerConnection extends Disposable { ..onAddStream = null ..onRemoveStream = null ..onAddTrack = null + ..onTrack = null ..onRemoveTrack = null ..onIceCandidate = null ..onIceConnectionState = null diff --git a/packages/stream_video/lib/src/ws/ws.dart b/packages/stream_video/lib/src/ws/ws.dart index a6b3bf342..1a6958865 100644 --- a/packages/stream_video/lib/src/ws/ws.dart +++ b/packages/stream_video/lib/src/ws/ws.dart @@ -13,6 +13,13 @@ import 'connect/connect.dart' export 'package:web_socket_channel/web_socket_channel.dart'; +enum StreamWebSocketCloseCode { + closeSocketFromClient(1000); + + const StreamWebSocketCloseCode(this.value); + final int value; +} + /// A simple wrapper around [WebSocketChannel] to make it easier to use. abstract class StreamWebSocket { /// Creates a new instance of [StreamWebSocket].