dispose method

Future<void> dispose()

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();
}