datarhei-dragonfork-core/core/webrtc
ZGaetano 01c456cd1a
Some checks failed
ci / vet + build (push) Failing after 5m3s
ci / race tests (push) Has been skipped
ci / WebRTC smoke (5-viewer fanout) (push) Has been skipped
ci / WebRTC latency p95 gate (push) Has been skipped
feat(core/webrtc): add IngestPeer for WHIP publish side (issue #16)
IngestPeer is the symmetric inverse of the WHEP Peer:
- Creates a recvonly PeerConnection (Pion receives tracks from the publisher)
- OnTrack -> reads RTP packets from the remote track and writes them to
  loopback UDP ports (videoPort, audioPort) that FFmpeg is listening on
- Full lifecycle: Done(), Connected(), Close(), AddICECandidate()

PeerFactory.CreateIngestPeer() follows the same ctx/offer/ICE-gather
pattern as CreatePeerFromSources() so the app/webrtc handler layer can
use a uniform error matrix.
2026-05-09 16:20:09 -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
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): add -rtp-host flag + TrueNAS Docker deploy 2026-04-17 09:05:37 -04:00
source_test.go feat(webrtc): add Source with UDP RTP reader and subscriber fan-out 2026-04-17 08:45:48 -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