answer method
void
answer(
- MediaStream stream, {
- AnswerOption? callOptions,
})
Implementation
void answer(MediaStream stream, {AnswerOption? callOptions}) {
if (_localStream != null) {
logger.warn(
"Local stream already exists on this MediaConnection. Are you answering a call twice?",
);
return;
}
_localStream = stream;
if (callOptions?.sdpTransform != null) {
callOptions?.sdpTransform = callOptions.sdpTransform;
}
final op = PeerConnectOption(
payload: PeerConnectOption(
stream: _localStream,
sdp: options!.payload!.sdp,
connectionId: options!.payload!.connectionId,
metadata: options!.payload!.metadata));
_negotiator?.startConnection(op.payload!);
// Retrieve lost messages stored because PeerConnection not set up.
final messages = provider?.getMessages(connectionId);
if (messages != null) {
for (var message in messages) {
handleMessage(message);
}
open = true;
}
}