diff --git a/app/webrtc/lifecycle.go b/app/webrtc/lifecycle.go index 2583d09..bf1c7d8 100644 --- a/app/webrtc/lifecycle.go +++ b/app/webrtc/lifecycle.go @@ -141,6 +141,11 @@ func (s *Subsystem) allocAdjacentPair(id string) (int, *corewebrtc.Source, *core lastErr = err continue } + // Activate IDR keyframe caching on the video source so that + // late-joining WHEP peers receive a reference frame immediately + // instead of waiting up to one full keyframe interval. + videoSrc.EnableKeyFrameCache() + audioSrc, err := corewebrtc.NewSourceOn(id+":audio", "127.0.0.1", port+1) if err != nil { _ = videoSrc.Close()