connectLocalSendTransportVideo function
Implementation
Future<void> connectLocalSendTransportVideo({
required MediaStream stream,
required MediaStreamTrack track,
required List<RtpEncodingParameters> encodings,
required ProducerCodecOptions codecOptions,
RtpCodecCapability? codec,
required ConnectSendTransportVideoParameters parameters,
}) async {
try {
Producer? localVideoProducer = parameters.localVideoProducer;
Transport? localProducerTransport = parameters.localProducerTransport;
final updateLocalVideoProducer = parameters.updateLocalVideoProducer;
final updateLocalProducerTransport =
parameters.updateLocalProducerTransport;
// Produce local video data if transport exists
if (localProducerTransport != null) {
localProducerTransport.produce(
track: track,
stream: stream,
encodings: encodings,
codecOptions: codecOptions,
codec: codec,
source: 'webcam',
);
// Update local producer and transport
if (updateLocalVideoProducer != null) {
updateLocalVideoProducer(localVideoProducer);
}
if (updateLocalProducerTransport != null) {
updateLocalProducerTransport(localProducerTransport);
}
}
} catch (error) {
if (kDebugMode) {
print('Error connecting local video transport: $error');
}
rethrow; // Re-throw to propagate the error
}
}