On Firefox, the RTCIceCandidate interface appears to just be an
RTCIceCandidateInit in disguise. That is, it does not have properties
for each individual component of the candidate line. It only has
the raw SDP string in the candidate property.
This change falls back to parsing the candidate line if some expected
property is missing when preparing the candidate for the callback
OnICECandidate.
https://developer.mozilla.org/en-US/docs/Web/API/RTCIceCandidatehttps://caniuse.com/#feat=mdn-api_rtcicecandidate_priority
Use values directly from SettingValues instead of just copying
when calling NewICEGatherer. This greatly reduces the LoC and makes
the public API a little cleaner.
Resolves#872
This only does parsing, does not generate them.
In the future this option will be exposed via the SettingEngine,
including the ability to opt out of mDNS completely for security/scaling
concerns
Relates to pion/webrtc#699
Users are unable to use the callbacks inside `internal/ice`.
Even though we alias things like OnSelectedCandidatePairChange
are unusable since in the package they use `ice.Candidate` instead of
`ICECandidate`
I made this change because I assumed godoc doesn't support
internal packages, this is not true. Godoc is actually having
issues because it doesn't support modules yet. So reverting
this change because we would prefer this be internal.
This reverts commit 8b09ced24b.
Moved ice related files to internal/ice. Added ice.go and
ice_go.go files containing aliases to internal/ice. Added
internal/tools/gen/genaliasdocs.go helper script for generating the
documentation for these aliases. Dropped ice
prefix from file names in internal/ice package.