diff --git a/net/rtp/src/gcc/imp.rs b/net/rtp/src/gcc/imp.rs index 479198ac..f56d0a78 100644 --- a/net/rtp/src/gcc/imp.rs +++ b/net/rtp/src/gcc/imp.rs @@ -1184,19 +1184,22 @@ impl ObjectSubclass for BandwidthEstimator { }) .collect::>(); - let bitrate_changed = { - let mut state = this.state.lock().unwrap(); + // The list of packets could be empty once parsed + if !packets.is_empty() { + let bitrate_changed = { + let mut state = this.state.lock().unwrap(); - state.detector.update(&mut packets); - if !state.delay_control(&bwe) { - state.loss_control(&bwe) - } else { - true + state.detector.update(&mut packets); + if !state.delay_control(&bwe) { + state.loss_control(&bwe) + } else { + true + } + }; + + if bitrate_changed { + bwe.notify("estimated-bitrate") } - }; - - if bitrate_changed { - bwe.notify("estimated-bitrate") } } }