setLocalSdpAsPublisher method
Future<void>
setLocalSdpAsPublisher(
- String sdp, [
- bool? isRecording
])
override
Implementation
@override
Future<void> setLocalSdpAsPublisher(String sdp, [bool? isRecording]) async {
if (isRecording != null) _isSessionBeingRecorded = isRecording;
final RTCSessionDescription description = RTCSessionDescription(
sdp,
DescriptionType.answer.type,
);
await _mParticipant?.setRemoteDescription(description);
_canPublisherAddIceCandidate = true;
final candidateOperations = <Future>[];
for (final candidate in _iceCandidateQueueForPublisher) {
_wsEmitter.sendPublisherIceCandidate(
candidate: candidate,
connectionType: _connectionType,
roomId: _currentRoomId!,
);
}
for (final candidate in _remoteIceCandidatesForPublisher) {
candidateOperations.add(_mParticipant!.addCandidate(candidate));
}
if (candidateOperations.isNotEmpty) {
await Future.wait(candidateOperations);
}
_iceCandidateQueueForPublisher.clear();
_remoteIceCandidatesForPublisher.clear();
}