setSrcObject method
Implementation
Future<void> setSrcObject({MediaStream? stream, String? trackId}) async {
if (_disposed) {
throw 'Can\'t set srcObject: The RTCVideoPlatformController is disposed';
}
if (_viewId == null) throw 'Call initialize before setting the stream';
if (_srcObject == stream) return;
_srcObject = stream;
onSrcObjectChange?.call();
var oldviewId = _viewId;
try {
await WebRTC.invokeMethod(
'videoPlatformViewRendererSetSrcObject', <String, dynamic>{
'viewId': _viewId,
'streamId': stream?.id ?? '',
'ownerTag': stream?.ownerTag ?? '',
'trackId': trackId ?? '0'
});
value = (stream == null)
? RTCVideoValue.empty
: value.copyWith(renderVideo: renderVideo);
} on PlatformException catch (e) {
throw 'Got exception for RTCVideoPlatformController::setSrcObject: viewId $oldviewId [disposed: $_disposed] with stream ${stream?.id}, error: ${e.message}';
}
}