diff --git a/src/webrtc.rs b/src/webrtc.rs index 893f015..bcf5e93 100644 --- a/src/webrtc.rs +++ b/src/webrtc.rs @@ -500,6 +500,12 @@ impl WebRtcInner { } }; self.video_pt = None; + // Disable str0m's LeakyBucketPacer for this video stream. Default pacing + // adds ~100ms send latency per large IDR; our 8Mbps cap + VBV already + // provide rate control. BWE stays enabled for adaptation feedback. + if let Some(stream_tx) = self.rtc.direct_api().stream_tx_by_mid(mid, None) { + stream_tx.set_unpaced(true); + } if let Some(writer) = self.rtc.writer(mid) { for pp in writer.payload_params() { tracing::debug!("Codec: pt={:?} spec={:?}", pp.pt(), pp.spec());