mirror of
https://github.com/aler9/gortsplib
synced 2025-10-04 23:02:45 +08:00
rename tcpFrameBuffer into tcpReadBuffer
This commit is contained in:
14
client.go
14
client.go
@@ -209,7 +209,7 @@ type Client struct {
|
|||||||
tracks map[int]clientTrack
|
tracks map[int]clientTrack
|
||||||
tracksByChannel map[int]int
|
tracksByChannel map[int]int
|
||||||
lastRange *headers.Range
|
lastRange *headers.Range
|
||||||
tcpFrameBuffer *multibuffer.MultiBuffer // tcp
|
tcpReadBuffer *multibuffer.MultiBuffer // tcp
|
||||||
tcpWriteMutex sync.Mutex // tcp
|
tcpWriteMutex sync.Mutex // tcp
|
||||||
writeMutex sync.RWMutex // write
|
writeMutex sync.RWMutex // write
|
||||||
writeFrameAllowed bool // write
|
writeFrameAllowed bool // write
|
||||||
@@ -618,7 +618,7 @@ func (c *Client) reset() {
|
|||||||
c.protocol = nil
|
c.protocol = nil
|
||||||
c.tracks = nil
|
c.tracks = nil
|
||||||
c.tracksByChannel = nil
|
c.tracksByChannel = nil
|
||||||
c.tcpFrameBuffer = nil
|
c.tcpReadBuffer = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (c *Client) checkState(allowed map[clientState]struct{}) error {
|
func (c *Client) checkState(allowed map[clientState]struct{}) error {
|
||||||
@@ -750,7 +750,7 @@ func (c *Client) runReader() error {
|
|||||||
res := base.Response{}
|
res := base.Response{}
|
||||||
|
|
||||||
for {
|
for {
|
||||||
frame.Payload = c.tcpFrameBuffer.Next()
|
frame.Payload = c.tcpReadBuffer.Next()
|
||||||
what, err := base.ReadInterleavedFrameOrResponse(&frame, &res, c.br)
|
what, err := base.ReadInterleavedFrameOrResponse(&frame, &res, c.br)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -908,12 +908,12 @@ func (c *Client) do(req *base.Request, skipResponse bool) (*base.Response, error
|
|||||||
|
|
||||||
c.nconn.SetReadDeadline(time.Now().Add(c.ReadTimeout))
|
c.nconn.SetReadDeadline(time.Now().Add(c.ReadTimeout))
|
||||||
|
|
||||||
if c.tcpFrameBuffer != nil {
|
if c.tcpReadBuffer != nil {
|
||||||
// read the response and ignore interleaved frames in between;
|
// read the response and ignore interleaved frames in between;
|
||||||
// interleaved frames are sent in two scenarios:
|
// interleaved frames are sent in two scenarios:
|
||||||
// * when the server is v4lrtspserver, before the PLAY response
|
// * when the server is v4lrtspserver, before the PLAY response
|
||||||
// * when the stream is already playing
|
// * when the stream is already playing
|
||||||
err = res.ReadIgnoreFrames(c.br, c.tcpFrameBuffer.Next())
|
err = res.ReadIgnoreFrames(c.br, c.tcpReadBuffer.Next())
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@@ -1459,8 +1459,8 @@ func (c *Client) doSetup(
|
|||||||
cct.udpRTCPListener = rtcpListener
|
cct.udpRTCPListener = rtcpListener
|
||||||
|
|
||||||
case TransportTCP:
|
case TransportTCP:
|
||||||
if c.tcpFrameBuffer == nil {
|
if c.tcpReadBuffer == nil {
|
||||||
c.tcpFrameBuffer = multibuffer.New(uint64(c.ReadBufferCount), uint64(c.ReadBufferSize))
|
c.tcpReadBuffer = multibuffer.New(uint64(c.ReadBufferCount), uint64(c.ReadBufferSize))
|
||||||
}
|
}
|
||||||
|
|
||||||
if c.tracksByChannel == nil {
|
if c.tracksByChannel == nil {
|
||||||
|
@@ -43,7 +43,7 @@ type ServerConn struct {
|
|||||||
tcpSession *ServerSession // tcp
|
tcpSession *ServerSession // tcp
|
||||||
tcpFrameIsRecording bool // tcp
|
tcpFrameIsRecording bool // tcp
|
||||||
tcpFrameTimeout bool // tcp
|
tcpFrameTimeout bool // tcp
|
||||||
tcpFrameBuffer *multibuffer.MultiBuffer // tcp
|
tcpReadBuffer *multibuffer.MultiBuffer // tcp
|
||||||
tcpFrameWriteBuffer *ringbuffer.RingBuffer // tcp
|
tcpFrameWriteBuffer *ringbuffer.RingBuffer // tcp
|
||||||
tcpFrameBackgroundWriteDone chan struct{} // tcp
|
tcpFrameBackgroundWriteDone chan struct{} // tcp
|
||||||
tcpProcessFunc func(int, bool, []byte)
|
tcpProcessFunc func(int, bool, []byte)
|
||||||
@@ -134,7 +134,7 @@ func (sc *ServerConn) run() {
|
|||||||
sc.nconn.SetReadDeadline(time.Now().Add(sc.s.ReadTimeout))
|
sc.nconn.SetReadDeadline(time.Now().Add(sc.s.ReadTimeout))
|
||||||
}
|
}
|
||||||
|
|
||||||
frame.Payload = sc.tcpFrameBuffer.Next()
|
frame.Payload = sc.tcpReadBuffer.Next()
|
||||||
what, err := base.ReadInterleavedFrameOrRequest(&frame, &req, sc.br)
|
what, err := base.ReadInterleavedFrameOrRequest(&frame, &req, sc.br)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
@@ -529,14 +529,14 @@ func (sc *ServerConn) handleRequestOuter(req *base.Request) error {
|
|||||||
if sc.tcpFrameEnabled {
|
if sc.tcpFrameEnabled {
|
||||||
if sc.tcpFrameIsRecording {
|
if sc.tcpFrameIsRecording {
|
||||||
sc.tcpFrameTimeout = true
|
sc.tcpFrameTimeout = true
|
||||||
sc.tcpFrameBuffer = multibuffer.New(uint64(sc.s.ReadBufferCount), uint64(sc.s.ReadBufferSize))
|
sc.tcpReadBuffer = multibuffer.New(uint64(sc.s.ReadBufferCount), uint64(sc.s.ReadBufferSize))
|
||||||
sc.tcpProcessFunc = sc.tcpProcessRecord
|
sc.tcpProcessFunc = sc.tcpProcessRecord
|
||||||
} else {
|
} else {
|
||||||
// when playing, tcpFrameBuffer is only used to receive RTCP receiver reports,
|
// when playing, tcpReadBuffer is only used to receive RTCP receiver reports,
|
||||||
// that are much smaller than RTP packets and are sent at a fixed interval
|
// that are much smaller than RTP packets and are sent at a fixed interval
|
||||||
// (about 2 frames every 10 secs).
|
// (about 2 frames every 10 secs).
|
||||||
// decrease RAM consumption by allocating less buffers.
|
// decrease RAM consumption by allocating less buffers.
|
||||||
sc.tcpFrameBuffer = multibuffer.New(8, uint64(sc.s.ReadBufferSize))
|
sc.tcpReadBuffer = multibuffer.New(8, uint64(sc.s.ReadBufferSize))
|
||||||
sc.tcpProcessFunc = sc.tcpProcessPlay
|
sc.tcpProcessFunc = sc.tcpProcessPlay
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -554,7 +554,7 @@ func (sc *ServerConn) handleRequestOuter(req *base.Request) error {
|
|||||||
<-sc.tcpFrameBackgroundWriteDone
|
<-sc.tcpFrameBackgroundWriteDone
|
||||||
sc.tcpFrameWriteBuffer.Reset()
|
sc.tcpFrameWriteBuffer.Reset()
|
||||||
|
|
||||||
sc.tcpFrameBuffer = nil
|
sc.tcpReadBuffer = nil
|
||||||
}
|
}
|
||||||
|
|
||||||
case sc.tcpFrameEnabled: // write to background write
|
case sc.tcpFrameEnabled: // write to background write
|
||||||
|
Reference in New Issue
Block a user