Commit 17941fa9 authored by Juliusz Chroboczek's avatar Juliusz Chroboczek

Parse receiver reports, save loss rate.

parent b042bed9
...@@ -616,6 +616,14 @@ func rtcpDownListener(g *group, conn *downConnection, track *downTrack, s *webrt ...@@ -616,6 +616,14 @@ func rtcpDownListener(g *group, conn *downConnection, track *downTrack, s *webrt
uint64(ms), uint64(ms),
) )
case *rtcp.ReceiverReport: case *rtcp.ReceiverReport:
for _, r := range p.Reports {
if r.SSRC == track.track.SSRC() {
atomic.StoreUint32(
&track.loss,
uint32(r.FractionLost),
)
}
}
case *rtcp.TransportLayerNack: case *rtcp.TransportLayerNack:
sendRecovery(p, track) sendRecovery(p, track)
default: default:
......
...@@ -75,6 +75,7 @@ type downTrack struct { ...@@ -75,6 +75,7 @@ type downTrack struct {
remote *upTrack remote *upTrack
isMuted uint32 isMuted uint32
maxBitrate *timeStampedBitrate maxBitrate *timeStampedBitrate
loss uint32
} }
func (t *downTrack) muted() bool { func (t *downTrack) muted() bool {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment