initLocalMediaStream method
Implementation
Future<MediaStream> initLocalMediaStream() {
if (_initLocalStreamCompleter != null) {
return _initLocalStreamCompleter!.future;
}
_initLocalStreamCompleter = Completer<MediaStream>();
_createStream(startScreenSharing).then((mediaStream) async {
localStream?.getTracks().forEach((track) async {
await track.stop();
});
await localStream?.dispose();
localStream = mediaStream;
this.onLocalStreamReceived?.call(localStream!);
_initLocalStreamCompleter?.complete(localStream);
}).catchError((onError) {
_initLocalStreamCompleter?.completeError(onError);
});
return _initLocalStreamCompleter!.future.whenComplete(() {
_initLocalStreamCompleter = null;
});
}