This is regarding the delay in the webrtc call setup due to ICE negotiations. I am trying out an audio call after which I enable video. A new video stream is added to the existing Peer Connection and ICE candidates are gathered for both audio and video tracks. Re-negotiation starts. SDP in the RE-INVITE has new ICE candidates for audio and video tracks.
Why can't we use the ICE candidate for audio track which existed already during initial audio call? Why gather ICE candidates again?
compare to this sample: https://webrtc.github.io/samples/src/content/peerconnection/upgrade/
Do you get new candidates for sdpMLineIndex 0 (audio)? If you just get new ones for sdpMLineIndex 1 (video) and support BUNDLE, set the bundle policy to 'max-bundle' when constructing the peerconnection.