Files
gortsplib/pkg/readbuffer/read_buffer_win.go
2025-08-12 12:45:06 +02:00

30 lines
476 B
Go

//go:build windows
package readbuffer
import "syscall"
// ReadBuffer returns the read buffer size.
func ReadBuffer(pc PacketConn) (int, error) {
rawConn, err := pc.SyscallConn()
if err != nil {
panic(err)
}
var v int
var err2 error
err = rawConn.Control(func(fd uintptr) {
v, err2 = syscall.GetsockoptInt(syscall.Handle(fd), syscall.SOL_SOCKET, syscall.SO_RCVBUF)
})
if err != nil {
return 0, err
}
if err2 != nil {
return 0, err2
}
return v, nil
}