initialize method
Future<void>
initialize(
)
override
Implementation
@override
Future<void> initialize() async {
pc = await adapter.createPeerConnection(
iceConfiguration:
config ??
const IceConfiguration(
iceServers: [
IceServer(urls: ['stun:stun4.l.google.com:19302']),
],
),
);
pc!.onIceCandidate.listen((candidate) {
print('Sending ICE candidate to ${peerId}');
sendSignal(SignalingMessageType.candidate, {
'candidate': candidate.candidate,
'sdpMid': candidate.sdpMid,
'sdpMLineIndex': candidate.sdpMLineIndex,
});
});
pc!.onTrack.listen((stream) {
print(
'Received remote stream from $peerId, tracks: ${stream.getTracks().length}',
);
// If we already have this stream, don't replace it, just notify
if (remoteStream?.id == stream.id) {
emit(ConnectionEvent.stream.name, this, stream);
return;
}
remoteStream = stream;
isOpen = true;
emit(ConnectionEvent.stream.name, this, stream);
});
// Add local stream if present
if (localStream != null) {
print('Adding local stream to peer connection');
await pc!.addStream(localStream!);
}
}