mirror of
https://github.com/bluenviron/mediamtx.git
synced 2025-12-20 02:00:05 -08:00
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
this allows to decrease packet losses without touching system parameters.
41 lines
710 B
Go
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
|
|
}
|