mirror of
https://github.com/jech/galene.git
synced 2024-11-26 02:25: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:
|
case *rtcp.ReceiverReport:
|
||||||
for _, r := range p.Reports {
|
for _, r := range p.Reports {
|
||||||
if r.SSRC == track.track.SSRC() {
|
if r.SSRC == track.track.SSRC() {
|
||||||
now := mono.Microseconds()
|
handleReport(track, r)
|
||||||
track.stats.Set(
|
}
|
||||||
r.FractionLost,
|
}
|
||||||
r.Jitter,
|
case *rtcp.SenderReport:
|
||||||
now,
|
for _, r := range p.Reports {
|
||||||
)
|
if r.SSRC == track.track.SSRC() {
|
||||||
track.updateRate(
|
handleReport(track, r)
|
||||||
r.FractionLost,
|
|
||||||
now,
|
|
||||||
)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case *rtcp.TransportLayerNack:
|
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) {
|
func trackKinds(down *rtpDownConnection) (audio bool, video bool) {
|
||||||
if down.pc == nil {
|
if down.pc == nil {
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in a new issue