feat: engineering infrastructure, SIP gateway, DVR, and protocol enhancements - #7
Merged
Merged
Conversation
- SDP builder: add AAC clockrate fallback to 44100 when MediaInfo.SampleRate is unset - RTMP handler: populate VideoSequenceHeader, AudioSequenceHeader, SampleRate, and Channels from incoming sequence header frames so downstream consumers (RTSP SDP, recordings) work - MP4 muxer: update videoCodec/audioCodec from sequence header frames so buildStsd correctly generates mp4a+esds box (was producing unknown codec) Also adds the new pkg/muxer/mp4 package (classic MP4 with moov atom) from Phase 5.
…on pool Phase 6 core features: - SIGHUP-based config hot-reload with atomic.Pointer for thread-safe swaps - Reloadable module interface for live config updates - Cluster HealthTracker with passive failure tracking and active TCP recovery - RelayPool per-host semaphore limiting concurrent relay connections - Integrated health filtering and pool gating into forward/origin managers
B2BUA gateway bridges SIP calls to LiveForge streams via RTP. Inbound INVITE creates a stream and publishes decoded audio; outbound Dial subscribes to a stream and sends packetized RTP. Includes codec negotiation (PCMA/PCMU/opus/G722), port allocation, max-call limits, and 14 passing tests with race detection.
Implements file-based DVR with configurable rolling window. The module subscribes to stream RingBuffers, writes TS segments to disk, and serves HLS playlists with EXT-X-PROGRAM-DATE-TIME for seek support. Includes automatic cleanup of expired segments and seamless republish handling.
…ements Adds ?q= query parameter to /api/v1/streams for substring filtering, new /api/v1/dvr/status endpoint exposing active DVR sessions, and ModuleByName lookup on core.Server. Console UI gains a search input for streams and a DVR sessions stat card.
…CI/CD RTSP: UDP multicast transport support with configurable TTL and base port. Recording: classic MP4 writer (moov atom), TS/HLS segment recording. WebRTC: H.265 compatibility in WHEP handler. TS muxer: pre-allocated buffers to reduce allocations. Tests: metrics, notify, SIP dispatch/transaction, WebRTC, integration. CI/CD: GitHub Actions workflows for test/build/release, golangci-lint config. Infrastructure: sync.Pool utilities, DVR SessionStatus export.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds engineering infrastructure, new modules, and protocol enhancements across 9 phases (20 items).
New Modules
module/sipgateway/) — B2BUA call bridging (inbound/outbound) with codec negotiationmodule/dvr/) — File-based HLS DVR with configurable rolling window and seek supportProtocol Enhancements
Core Features
?q=parameter)Engineering Infrastructure
Test Coverage
Test Plan
go build ./...passesgo test -race ./module/dvr/— 12 tests passgo test -race ./module/sipgateway/— 14 tests passgo test -race ./module/api/— all passgo test -race ./module/cluster/— relay pool + health tests pass