diff --git a/connclientread.go b/connclientread.go index 23468035..08d5e4f2 100644 --- a/connclientread.go +++ b/connclientread.go @@ -97,9 +97,7 @@ func (c *ConnClient) backgroundPlayUDP(onFrameDone chan error) { now := time.Now() for trackId := range c.rtcpReceivers { r := c.rtcpReceivers[trackId].Report(now) - if r != nil { - c.udpRtcpListeners[trackId].write(r) - } + c.udpRtcpListeners[trackId].write(r) } case <-keepaliveTicker.C: @@ -194,15 +192,13 @@ func (c *ConnClient) backgroundPlayTCP(onFrameDone chan error) { now := time.Now() for trackId := range c.rtcpReceivers { r := c.rtcpReceivers[trackId].Report(now) - if r != nil { - c.nconn.SetWriteDeadline(time.Now().Add(c.d.WriteTimeout)) - frame := base.InterleavedFrame{ - TrackId: trackId, - StreamType: StreamTypeRtcp, - Content: r, - } - frame.Write(c.bw) + c.nconn.SetWriteDeadline(time.Now().Add(c.d.WriteTimeout)) + frame := base.InterleavedFrame{ + TrackId: trackId, + StreamType: StreamTypeRtcp, + Content: r, } + frame.Write(c.bw) } case err := <-readerDone: diff --git a/pkg/rtcpsender/rtcpsender.go b/pkg/rtcpsender/rtcpsender.go index 3fe3f6d3..bad8c89f 100644 --- a/pkg/rtcpsender/rtcpsender.go +++ b/pkg/rtcpsender/rtcpsender.go @@ -57,6 +57,7 @@ func (rs *RtcpSender) OnFrame(ts time.Time, streamType base.StreamType, buf []by } // Report generates a RTCP sender report. +// It returns nil if no packets has been passed to OnFrame yet. func (rs *RtcpSender) Report(ts time.Time) []byte { rs.mutex.Lock() defer rs.mutex.Unlock()