mediamtx/internal/protocols/webrtc/net.go
Alessandro Ros 1ef5db5b3c
Some checks failed
code_lint / go (push) Has been cancelled
code_lint / go_mod (push) Has been cancelled
code_lint / docs (push) Has been cancelled
code_lint / api_docs (push) Has been cancelled
code_test / test_64 (push) Has been cancelled
code_test / test_32 (push) Has been cancelled
code_test / test_e2e (push) Has been cancelled
extend udpReadBufferSize to WebRTC UDP sockets (#5130)
this allows to decrease packet losses without touching system parameters.
2025-10-29 11:45:15 +01:00

41 lines
710 B
Go

package webrtc
import (
"net"
"github.com/bluenviron/gortsplib/v5/pkg/readbuffer"
"github.com/pion/transport/v3"
"github.com/pion/transport/v3/stdnet"
)
type webrtcNet struct {
udpReadBufferSize int
*stdnet.Net
}
func (n *webrtcNet) initialize() error {
var err error
n.Net, err = stdnet.NewNet()
if err != nil {
return err
}
return nil
}
func (n *webrtcNet) ListenUDP(network string, laddr *net.UDPAddr) (transport.UDPConn, error) {
conn, err := n.Net.ListenUDP(network, laddr)
if err != nil {
return nil, err
}
if n.udpReadBufferSize != 0 {
err = readbuffer.SetReadBuffer(conn.(*net.UDPConn), n.udpReadBufferSize)
if err != nil {
return nil, err
}
}
return conn, nil
}