I am creating meeting app using Flutter(flutter_webrtc). The local and remote video is stream and display in Android, Web and Windows. In iOS and macOS the remote video is not stream and display. Here is the sdpAnswer
`v=0
o=mediasoup-client 10000 1 IN IP4 0.0.0.0
s=-
t=0 0
a=ice-lite
a=fingerprint:sha-1 16:09:7A:99:40:78:62:DE:A9:04:6A:D9:63:BD:2C:B6:7B:96:85:EA
a=msid-semantic: WMS *
a=group:BUNDLE 0
m=video 7 UDP/TLS/RTP/SAVPF 100
c=IN IP4 127.0.0.1
b=TIAS:200000
b=AS:200
a=rtpmap:100 VP8/90000
a=fmtp:100
a=rtcp-fb:100 goog-remb
a=rtcp-fb:100 transport-cc
a=rtcp-fb:100 ccm fir
a=rtcp-fb:100 nack
a=rtcp-fb:100 nack pli
a=extmap:1 urn:ietf:params:rtp-hdrext:toffset
a=extmap:2 http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time
a=extmap:4 http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extensions-01
a=extmap:5 http://www.webrtc.org/experiments/rtp-hdrext/playout-delay
a=extmap:6 http://www.webrtc.org/experiments/rtp-hdrext/video-content-type
a=extmap:7 http://www.webrtc.org/experiments/rtp-hdrext/video-timing
a=extmap:8 http://www.webrtc.org/experiments/rtp-hdrext/color-space
a=extmap:9 urn:ietf:params:rtp-hdrext:sdes:mid
a=extmap:10 urn:ietf:params:rtp-hdrext:sdes:rtp-stream-id
a=extmap:11 urn:ietf:params:rtp-hdrext:sdes:repaired-rtp-stream-id
a=setup:active
a=mid:0
a=msid:jxp4vWd39/J7HnG4 69dca6c3-e5cf-4cca-8192-0adca78066ba
a=recvonly
a=ice-ufrag:pvml7sasyhyvkbvn687mg5nt7yrs9sk8
a=ice-pwd:j1o3hi8ycnc1q1h5wmlkav5fd0luriea
a=candidate:udpcandidate 1 udp 1076558079 103.89.48.49 28144 typ host
a=end-of-candidates
a=ice-options:renomination
a=rtcp-mux
a=rtcp-rsize
a=content:main`
The local video stream is work and display in other's side as a remote. What would be the problem please?
Here is my create peerconnection, create and send offer implementation.
``` dart
try {
Map<String, dynamic> config = {"sdpSemantics": "unified-plan"};
config.addAll(meetingInfo.iceServers!);
pc = await createPeerConnection(config, _peerConnectionConstraints);
await afterCreatePeerConnection();
_sendPing();
RTCSessionDescription s = await pc.createOffer(_constraints);
await pc.setLocalDescription(s);
sendOffer(s);
pc.onIceCandidate = (candidate) async{
await Future.delayed(const Duration(seconds: 1), () {
onIceCandidate(candidate);
});
};
pc.onTrack = (track) {
if(track.track.kind == 'video') {
onAddRemoteStream(track.streams[0]);
}
};
} catch (e) {
debugPrint("Catch=======> $e");
Log.error("[VideoConnection] Encountered an error while trying to create an offer", e);
}
```