Commit Graph
5 Commits
Author SHA1 Message Date
cloudwebrtc 061bbd8a2f rename videoFrameCacheLatestTS -> videoFrameCacheLatestETS. 2026-06-29 11:08:32 +08:00
cloudwebrtc a46fdb446f rename EnableVideoFrameCache to SetVideoFrameCacheDuration. 2026-06-29 11:00:52 +08:00
cloudwebrtc 84443e66e2 rename. 2026-06-29 10:53:44 +08:00
cloudwebrtc 52ac105d64 rename GOP to video frame cache group. 2026-06-29 10:35:30 +08:00
cloudwebrtcandClaude Opus 4.8 96ae9cc59e feat: bootstrap new subscribers from a cached video frame (GOP) instead of a PLI
When a down track is added, replay the publisher's most recent group-of-pictures
so the subscriber gets a decodable stream immediately, instead of triggering a
PLI that spikes the publisher uplink and re-sends a key frame to every subscriber.

The cache is opt-in per published track via EnableVideoCaching (with
VideoCachingMaxDuration bounding the cached GOP); when disabled the ingest and
bucket-sizing paths are byte-for-byte the original logic. Adds hit/miss and
forwarded-PLI counters for observability.

Squashed from branch duan/video-frame-cache-relay (video frame caching only;
the start-at-desired-quality work is already in master).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-19 20:38:21 +08:00