Merge remote-tracking branch 'origin/master' into raja_1833

This commit is contained in:
boks1971
2023-07-19 00:38:01 +05:30
3 changed files with 43 additions and 1 deletions
+19
View File
@@ -944,6 +944,25 @@ func (r *RTPStats) GetRtcpSenderReport(ssrc uint32, calculatedClockRate uint32)
"nowRTPExt", nowRTPExt,
"nowRTPExtUsingRate", nowRTPExtUsingRate,
)
} else {
packetDriftResult, reportDriftResult := r.getDrift()
r.logger.Debugw(
"sending sender report",
"ntp", nowNTP.Time().String(),
"rtp", nowRTP,
"departure", now.String(),
"ntpDiffSinceLast", ntpDiffSinceLast.Seconds(),
"rtpDiffSinceLast", int32(rtpDiffSinceLast),
"departureDiffSinceLast", departureDiffSinceLast.Seconds(),
"expectedTimeDiffSinceLast", expectedTimeDiffSinceLast,
"packetDrift", packetDriftResult.String(),
"reportDrift", reportDriftResult.String(),
"highestTS", r.highestTS,
"highestTime", r.highestTime.String(),
"calculatedClockRate", calculatedClockRate,
"nowRTPExt", nowRTPExt,
"nowRTPExtUsingRate", nowRTPExtUsingRate,
)
}
return &rtcp.SenderReport{
+5 -1
View File
@@ -1177,7 +1177,11 @@ func (d *DownTrack) CreateSenderReport() *rtcp.SenderReport {
return nil
}
return d.rtpStats.GetRtcpSenderReport(d.ssrc, d.receiver.GetCalculatedClockRate(d.forwarder.CurrentLayer().Spatial))
clockLayer := d.forwarder.CurrentLayer().Spatial
if clockLayer == buffer.InvalidLayerSpatial {
clockLayer = d.forwarder.GetReferenceLayerSpatial()
}
return d.rtpStats.GetRtcpSenderReport(d.ssrc, d.receiver.GetCalculatedClockRate(clockLayer))
}
func (d *DownTrack) writeBlankFrameRTP(duration float32, generation uint32) chan struct{} {
+19
View File
@@ -529,6 +529,13 @@ func (f *Forwarder) GetMaxSubscribedSpatial() int32 {
return layer
}
func (f *Forwarder) GetReferenceLayerSpatial() int32 {
f.lock.RLock()
defer f.lock.RUnlock()
return f.referenceLayerSpatial
}
func (f *Forwarder) isDeficientLocked() bool {
return f.lastAllocation.IsDeficient
}
@@ -1992,6 +1999,18 @@ done:
if !targetLayer.IsValid() {
distance += (maxSeenLayer.Temporal + 1)
}
// TODO-REMOVE-AFTER-DEBUG
logger.Debugw(
"distance to desired",
"maxSeenLauer", maxSeenLayer,
"availableLayers", availableLayers,
"brs", brs,
"targetLayer", targetLayer,
"maxLayer", maxLayer,
"adjustedMaxLayer", adjustedMaxLayer,
"maxAvailableSpatial", maxAvailableSpatial,
"maxAvailableTemporal", maxAvailableTemporal,
)
return float64(distance) / float64(maxSeenLayer.Temporal+1)
}