dispose method
This function takes care of cleaning up all the internal stream controller and timers used to make janus_client compatible with streams and polling support
Implementation
Future<void> dispose() async {
this.pollingActive = false;
_pollingTimer?.cancel();
_streamController?.close();
_remoteStreamController?.close();
_messagesStreamController?.close();
_typedMessagesStreamController?.close();
_localStreamController?.close();
_remoteTrackStreamController?.close();
_dataStreamController?.close();
_onDataStreamController?.close();
_renegotiationNeededController?.close();
_wsStreamSubscription?.cancel();
await stopAllTracksAndDispose(webRTCHandle?.localStream);
await webRTCHandle?.peerConnection?.close();
await webRTCHandle?.remoteStream?.dispose();
await webRTCHandle?.localStream?.dispose();
await webRTCHandle?.peerConnection?.dispose();
}