mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 15:16:51 +08:00
rtcpreceiver: rename frames into packets
This commit is contained in:
@@ -97,7 +97,7 @@ func (rr *RTCPReceiver) ProcessPacketRTP(ts time.Time, payload []byte) {
|
|||||||
sequenceNumber := uint16(payload[2])<<8 | uint16(payload[3])
|
sequenceNumber := uint16(payload[2])<<8 | uint16(payload[3])
|
||||||
rtpTime := uint32(payload[4])<<24 | uint32(payload[5])<<16 | uint32(payload[6])<<8 | uint32(payload[7])
|
rtpTime := uint32(payload[4])<<24 | uint32(payload[5])<<16 | uint32(payload[6])<<8 | uint32(payload[7])
|
||||||
|
|
||||||
// first frame
|
// first packet
|
||||||
if !rr.firstRTPReceived {
|
if !rr.firstRTPReceived {
|
||||||
rr.firstRTPReceived = true
|
rr.firstRTPReceived = true
|
||||||
rr.totalSinceReport = 1
|
rr.totalSinceReport = 1
|
||||||
@@ -105,18 +105,18 @@ func (rr *RTCPReceiver) ProcessPacketRTP(ts time.Time, payload []byte) {
|
|||||||
rr.lastRTPTimeRTP = rtpTime
|
rr.lastRTPTimeRTP = rtpTime
|
||||||
rr.lastRTPTimeTime = ts
|
rr.lastRTPTimeTime = ts
|
||||||
|
|
||||||
// subsequent frames
|
// subsequent packets
|
||||||
} else {
|
} else {
|
||||||
diff := int32(sequenceNumber) - int32(rr.lastSequenceNumber)
|
diff := int32(sequenceNumber) - int32(rr.lastSequenceNumber)
|
||||||
|
|
||||||
// following frame or following frame after an overflow
|
// following packet or following packet after an overflow
|
||||||
if diff > 0 || diff < -0x0FFF {
|
if diff > 0 || diff < -0x0FFF {
|
||||||
// overflow
|
// overflow
|
||||||
if diff < -0x0FFF {
|
if diff < -0x0FFF {
|
||||||
rr.sequenceNumberCycles++
|
rr.sequenceNumberCycles++
|
||||||
}
|
}
|
||||||
|
|
||||||
// detect lost frames
|
// detect lost packets
|
||||||
if sequenceNumber != (rr.lastSequenceNumber + 1) {
|
if sequenceNumber != (rr.lastSequenceNumber + 1) {
|
||||||
rr.totalLost += uint32(uint16(diff) - 1)
|
rr.totalLost += uint32(uint16(diff) - 1)
|
||||||
rr.totalLostSinceReport += uint32(uint16(diff) - 1)
|
rr.totalLostSinceReport += uint32(uint16(diff) - 1)
|
||||||
@@ -144,7 +144,7 @@ func (rr *RTCPReceiver) ProcessPacketRTP(ts time.Time, payload []byte) {
|
|||||||
rr.lastRTPTimeRTP = rtpTime
|
rr.lastRTPTimeRTP = rtpTime
|
||||||
rr.lastRTPTimeTime = ts
|
rr.lastRTPTimeTime = ts
|
||||||
}
|
}
|
||||||
// ignore invalid frames (diff = 0) or reordered frames (diff < 0)
|
// ignore invalid packets (diff = 0) or reordered packets (diff < 0)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -156,10 +156,10 @@ func (rr *RTCPReceiver) ProcessPacketRTCP(ts time.Time, payload []byte) {
|
|||||||
|
|
||||||
// we can afford to unmarshal all RTCP packets
|
// we can afford to unmarshal all RTCP packets
|
||||||
// since they are sent with a frequency much lower than the one of RTP packets
|
// since they are sent with a frequency much lower than the one of RTP packets
|
||||||
frames, err := rtcp.Unmarshal(payload)
|
packets, err := rtcp.Unmarshal(payload)
|
||||||
if err == nil {
|
if err == nil {
|
||||||
for _, frame := range frames {
|
for _, packet := range packets {
|
||||||
if sr, ok := (frame).(*rtcp.SenderReport); ok {
|
if sr, ok := (packet).(*rtcp.SenderReport); ok {
|
||||||
rr.senderSSRC = sr.SSRC
|
rr.senderSSRC = sr.SSRC
|
||||||
rr.lastSenderReport = uint32(sr.NTPTime >> 16)
|
rr.lastSenderReport = uint32(sr.NTPTime >> 16)
|
||||||
rr.lastSenderReportTime = ts
|
rr.lastSenderReportTime = ts
|
||||||
|
Reference in New Issue
Block a user