publishMedia method Null safety
sends the publish request to JanusVideoRoom. It should be called once VideoRoomJoinedEvent is received from server.
Implementation
Future<void> publishMedia(
{String? audioCodec,
String? videCodec,
int? bitrate,
bool? record,
String? filename,
String? newDisplayName,
int? audioLevelAverage,
int? audioActivePackets,
List<Map<String, String>>? descriptions,
RTCSessionDescription? offer}) async {
var payload = {
"request": "publish",
"audiocodec": audioCodec,
"videocodec": videCodec,
"bitrate": bitrate,
"record": record,
"filename": filename,
"display": newDisplayName,
"audio_level_average": audioLevelAverage,
"audio_active_packets": audioActivePackets,
"descriptions": descriptions
}..removeWhere((key, value) => value == null);
if (offer == null) {
offer = await this.createOffer(audioRecv: false, audioSend: true, videoRecv: false, videoSend: true);
}
await this.send(data: payload, jsep: offer);
}