mirror of
https://github.com/aler9/gortsplib
synced 2025-10-21 14:19:36 +08:00
optimize multicast on Linux by listening on a single IP (#417)
(https://github.com/bluenviron/mediamtx/issues/2133)
This commit is contained in:
@@ -1,3 +1,6 @@
|
||||
//go:build !linux
|
||||
// +build !linux
|
||||
|
||||
package multicast
|
||||
|
||||
import (
|
||||
@@ -64,12 +67,6 @@ func NewMultiConn(
|
||||
return nil, fmt.Errorf("no multicast-capable interfaces found")
|
||||
}
|
||||
|
||||
err = setupReadFrom(readConnIP)
|
||||
if err != nil {
|
||||
readConn.Close() //nolint:errcheck
|
||||
return nil, err
|
||||
}
|
||||
|
||||
writeConns := make([]*net.UDPConn, len(enabledInterfaces))
|
||||
writeConnIPs := make([]*ipv4.PacketConn, len(enabledInterfaces))
|
||||
|
||||
@@ -174,5 +171,5 @@ func (c *MultiConn) WriteTo(b []byte, addr net.Addr) (int, error) {
|
||||
|
||||
// ReadFrom implements Conn.
|
||||
func (c *MultiConn) ReadFrom(b []byte) (int, net.Addr, error) {
|
||||
return readFrom(c.readConnIP, c.addr.IP, b)
|
||||
return c.readConn.ReadFrom(b)
|
||||
}
|
||||
|
Reference in New Issue
Block a user