mirror of
https://github.com/jech/galene.git
synced 2024-11-22 16:45:58 +01:00
Handle sender reports for down tracks.
In principle, we should be receiving receiver reports only, but let's be robust.
This commit is contained in:
parent
8fda40b544
commit
303d15539c
1 changed files with 13 additions and 10 deletions
23
webclient.go
23
webclient.go
|
@ -866,16 +866,13 @@ func rtcpDownListener(conn *rtpDownConnection, track *rtpDownTrack, s *webrtc.RT
|
|||
case *rtcp.ReceiverReport:
|
||||
for _, r := range p.Reports {
|
||||
if r.SSRC == track.track.SSRC() {
|
||||
now := mono.Microseconds()
|
||||
track.stats.Set(
|
||||
r.FractionLost,
|
||||
r.Jitter,
|
||||
now,
|
||||
)
|
||||
track.updateRate(
|
||||
r.FractionLost,
|
||||
now,
|
||||
)
|
||||
handleReport(track, r)
|
||||
}
|
||||
}
|
||||
case *rtcp.SenderReport:
|
||||
for _, r := range p.Reports {
|
||||
if r.SSRC == track.track.SSRC() {
|
||||
handleReport(track, r)
|
||||
}
|
||||
}
|
||||
case *rtcp.TransportLayerNack:
|
||||
|
@ -891,6 +888,12 @@ func rtcpDownListener(conn *rtpDownConnection, track *rtpDownTrack, s *webrtc.RT
|
|||
}
|
||||
}
|
||||
|
||||
func handleReport(track *rtpDownTrack, report rtcp.ReceptionReport) {
|
||||
now := mono.Microseconds()
|
||||
track.stats.Set(report.FractionLost, report.Jitter, now)
|
||||
track.updateRate(report.FractionLost, now)
|
||||
}
|
||||
|
||||
func trackKinds(down *rtpDownConnection) (audio bool, video bool) {
|
||||
if down.pc == nil {
|
||||
return
|
||||
|
|
Loading…
Reference in a new issue