addRemoteTrack method Null safety
- dynamic media,
- List<
MediaStream> streams
Add remote receving track.
media
- Media kind ('audio' | 'video').
streams
- Streams the track will belong to.
Future that will be resolved when the RTCRtpTransceiver
is assigned an mid value.
Implementation
addRemoteTrack(media, List<MediaStream> streams) async {
Completer completer = Completer();
var transceiverCompleter = RTCRtpTransceiverCompleter(completer);
try {
for (var stream in streams) {
stream.getTracks().forEach((track) async {
transceiverCompleter.transceiver = await peer!.addTransceiver(
track: track,
kind: media,
init: RTCRtpTransceiverInit(
direction: TransceiverDirection.RecvOnly));
stream.addTrack(transceiverCompleter.transceiver!.receiver.track!);
transceiverCompleter.completer = completer;
return completer.future;
});
}
} catch (e) {
throw Exception(e);
}
}