datarhei-dragonfork-core/core/webrtc
ZGaetano 8266ca72e6
Some checks failed
ci / race tests (push) Blocked by required conditions
ci / WebRTC smoke (5-viewer fanout) (push) Blocked by required conditions
ci / WebRTC latency p95 gate (push) Blocked by required conditions
ci / vet + build (push) Has been cancelled
fix(webrtc): detect STAP-A IDR start in keyframe cache (issue #18)
Extend isH264IDRStart to handle STAP-A aggregates (NAL type 24, RFC 6184
§5.7.1). The first NAL in the aggregate starts at byte 3 (after the
2-byte size field); if its type is 5 (IDR slice) the packet is treated
as an IDR start and the burst cache is reset.

This closes the gap noted in NOTES.md: a publisher using STAP-A for IDR
(e.g. a custom GStreamer pipeline or hardware encoder) will now correctly
reset the burst rather than accumulating packets until hitting the 512-
packet / 2 MiB capacity cap.
2026-05-10 13:19:56 -04:00
..
config.go feat(webrtc): add Config with defaults and validation 2026-04-17 08:44:30 -04:00
config_test.go feat(webrtc): add Config with defaults and validation 2026-04-17 08:44:30 -04:00
doc.go feat(webrtc): add package skeleton and typed errors 2026-04-17 08:43:57 -04:00
errors.go feat(webrtc): add package skeleton and typed errors 2026-04-17 08:43:57 -04:00
forward.go feat(webrtc): add app/webrtc subsystem + lifecycle hooks 2026-04-17 10:02:00 -04:00
ice.go feat(webrtc): add ICE config helper (Configuration + SettingEngine) 2026-04-17 08:46:27 -04:00
ice_test.go feat(webrtc): add ICE config helper (Configuration + SettingEngine) 2026-04-17 08:46:27 -04:00
keyframecache.go fix(webrtc): detect STAP-A IDR start in keyframe cache (issue #18) 2026-05-10 13:19:56 -04:00
keyframecache_test.go test(webrtc): unit tests for keyFrameCache and isH264IDRStart 2026-05-10 09:23:12 -04:00
peer.go feat(webrtc): add Connected() channel to Peer for ICE establishment timing 2026-05-06 15:55:42 -04:00
peer_test.go feat(webrtc): add PeerFactory, Peer, and RTP forwarder 2026-04-17 08:47:27 -04:00
registry.go feat(webrtc): add thread-safe Registry for stream_id -> SourceHandle 2026-04-17 08:44:59 -04:00
registry_test.go feat(webrtc): add thread-safe Registry for stream_id -> SourceHandle 2026-04-17 08:44:59 -04:00
source.go feat(webrtc): wire keyframe cache into Source (issue #17) 2026-05-09 19:04:17 -04:00
source_test.go test(webrtc): Source Subscribe pre-fill, Close, and EnableKeyFrameCache 2026-05-10 09:23:40 -04:00
whep.go feat(webrtc): add WHEP POST handler (happy path) 2026-04-17 08:48:06 -04:00
whep_test.go feat(webrtc): add WHEP POST handler (happy path) 2026-04-17 08:48:06 -04:00
whip.go feat(core/webrtc): add IngestPeer for WHIP publish side (issue #16) 2026-05-09 16:20:09 -04:00