add udpReadBufferSize parameter (#5129)

this allows to set a global UDP read buffer, applied to every UDP socket.
This commit is contained in:
Alessandro Ros 2025-10-29 11:28:22 +01:00 committed by GitHub
parent 3ae5262510
commit adc4a6ceb6
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
12 changed files with 78 additions and 91 deletions

View file

@ -71,10 +71,11 @@ type parent interface {
// Source is a RTSP static source.
type Source struct {
ReadTimeout conf.Duration
WriteTimeout conf.Duration
WriteQueueSize int
Parent parent
ReadTimeout conf.Duration
WriteTimeout conf.Duration
WriteQueueSize int
UDPReadBufferSize uint
Parent parent
}
// Log implements logger.Writer.
@ -145,6 +146,11 @@ func (s *Source) Run(params defs.StaticSourceRunParams) error {
return err
}
udpReadBufferSize := s.UDPReadBufferSize
if params.Conf.RTSPUDPReadBufferSize != nil {
udpReadBufferSize = *params.Conf.RTSPUDPReadBufferSize
}
c := &gortsplib.Client{
Scheme: scheme,
Host: u.Host,
@ -154,7 +160,7 @@ func (s *Source) Run(params defs.StaticSourceRunParams) error {
ReadTimeout: time.Duration(s.ReadTimeout),
WriteTimeout: time.Duration(s.WriteTimeout),
WriteQueueSize: s.WriteQueueSize,
UDPReadBufferSize: int(params.Conf.RTSPUDPReadBufferSize),
UDPReadBufferSize: int(udpReadBufferSize),
AnyPortEnable: params.Conf.RTSPAnyPort,
OnRequest: func(req *base.Request) {
s.Log(logger.Debug, "[c->s] %v", req)