diff --git a/README.md b/README.md index 7ccf92f..d64924e 100644 --- a/README.md +++ b/README.md @@ -49,6 +49,7 @@ Check out the **[contributing wiki](https://github.com/pion/webrtc/wiki/Contribu * [Nevio Vesic](https://github.com/0x19) * [David Hamilton](https://github.com/dihamilton) * [adwpc](https://github.com/adwpc) +* [Ori Bernstein](https://eigenstate.org) ### License MIT License - see [LICENSE](LICENSE) for full text diff --git a/agent.go b/agent.go index ea32c9c..93e5a28 100644 --- a/agent.go +++ b/agent.go @@ -354,8 +354,10 @@ func NewAgent(config *AgentConfig) (*Agent, error) { var mDNSConn *mdns.Conn mDNSConn, mDNSMode, err = createMulticastDNS(mDNSMode, mDNSName, log) + // Opportunistic mDNS: If we can't open the connection, that's ok: we + // can continue without it. if err != nil { - return nil, err + log.Warnf("Failed to initialize mDNS %s: %v", mDNSName, err) } closeMDNSConn := func() { if mDNSConn != nil { @@ -808,6 +810,9 @@ func (a *Agent) AddRemoteCandidate(c Candidate) error { } func (a *Agent) resolveAndAddMulticastCandidate(c *CandidateHost) { + if a.mDNSConn == nil { + return + } _, src, err := a.mDNSConn.Query(context.TODO(), c.Address()) if err != nil { a.log.Warnf("Failed to discover mDNS candidate %s: %v", c.Address(), err)