pion / webrtc

Pure Go implementation of the WebRTC API
https://pion.ly
MIT License
13.84k stars 1.66k forks source link

Fill in sdpMid for local candidates #1833

Open youmustrust opened 3 years ago

youmustrust commented 3 years ago

Summary

ICECandidate generates an empty sdpMid for local candidates. If the remote peer doesn't use sdpMLineIndex for locating a media description, all local candidates generated by Pion would be dropped, possibly leading to connectivity check timeout.

Motivation

N/A

Describe alternatives you've considered

N/A

Additional context

aiortc uses sdpMid alone for locating a media description. Since they don't support peer-reflexive candidates, connectivity check timeout occurs with Pion. For this issue, I opened this PR to make aiortc respect sdpMLineIndex.

Sean-Der commented 3 years ago

Hey @youmustrust

Sorry for the delay on this, been tackling other issues. aiortc + Pion are able to interop, we do testing on webrtc-echoes

youmustrust commented 3 years ago

@Sean-Der Oh, sorry. This occurs when ICE lite is enabled.