I have created a one way webrtc sender for sending video/audio stream to receiver. I have placed constrains audio: true video: true for getUserMedia(). I am performing close media tracks and it shows verbose on console for closing but I cant get that notification away.
Heres code:
if (!parametersReady)
throw '[WebrtcSender.hangUp] feedParameters was not called';
print(
'[WebrtcSender.hangup] hanging up for receiver $receiverEmail sender $userEmail');
try {
if (localStream != null) {
localStream!.getTracks().forEach((track) {
track.stop();
});
localStream!.dispose();
}
if (peerConnection != null) {
print('[WebrtcSender.haungUp] closing peerConnection');
await peerConnection!.close();
}
FirebaseFirestore db = FirebaseFirestore.instance;
DocumentReference roomRef = db
.collection('sessions')
.doc(receiverEmail)
.collection(userEmail)
.doc('videoStream');
DocumentSnapshot<Object?> roomSnapshot = await roomRef.get();
if (roomSnapshot.exists) {
var calleeCandidates =
await roomRef.collection('calleeCandidates').get();
calleeCandidates.docs
.forEach((document) => document.reference.delete());
var callerCandidates =
await roomRef.collection('callerCandidates').get();
callerCandidates.docs
.forEach((document) => document.reference.delete());
answerSet = false;
await roomRef.delete();
}
} catch (e) {
print('[WebrtcSender.hangup] error ${e.toString()}');
DebugFile.saveTextData('[WebrtcSender.hangup] error ${e.toString()}');
rethrow;
}
}```
I am not getting stream form receiver so there is no remoteStream to close.