Sets up and connects a screen sharing transport for sending video streams.

This function supports both a primary and a local screen producer, delegating local handling to a separate function.

Will throw an error if there is an issue with the connection or setup process.

await connectSendTransportScreen({
stream: screenStream,
targetOption: 'all',
parameters: {
screenProducer: null,
localScreenProducer: null,
device: mediaDevice,
screenParams: { encodings: [{ maxBitrate: 1500000 }] },
producerTransport: sendTransport,
localProducerTransport: localSendTransport,
params: { track: screenStream.getVideoTracks()[0] },
updateScreenProducer: setScreenProducer,
updateLocalScreenProducer: setLocalScreenProducer,
updateProducerTransport: setProducerTransport,
updateLocalProducerTransport: setLocalProducerTransport,
getUpdatedAllParams: getParams,
},
});