Commit Graph
169 Commits
Author SHA1 Message Date
evgeny 6689cf543b Clarify source signing key and interval estimate documentation 2026-10-26 12:54:52 +01:00
evgeny de535e1713 Distinguish source mute state from immutable audio codec 2026-10-26 12:47:46 +01:00
evgeny 8533dfc303 Clarify asynchronous publisher and viewer session contracts 2026-10-26 12:45:31 +01:00
evgeny 0f54f5ef66 Specify stream playback clock and audio thread contracts 2026-10-26 12:43:25 +01:00
evgeny c5292c9994 Document stream member admission and wire codec contracts 2026-10-26 12:42:14 +01:00
evgeny 495972cfe6 Clarify stream ring and media cursor ownership and results 2026-10-26 12:40:44 +01:00
evgeny b25acce11b Specify stream queue accounting and timing metric snapshots 2026-10-26 12:33:15 +01:00
evgeny 080b14a51d Document stream flow lifetimes, leases and relay ownership 2026-10-26 12:31:01 +01:00
evgeny c148351259 Close expired nine-byte stream INFO requests with overload reason 2026-10-26 12:04:31 +01:00
evgeny 840bc9a6b0 Align stream guide with session ownership and current audit status 2026-10-26 12:04:31 +01:00
evgeny 27ed4c74ff Clarify stream session ownership and supplier selection contracts 2026-10-26 12:04:31 +01:00
evgeny a056b2c262 Describe publisher packing budgets and queued audio rejection 2026-10-26 09:50:34 +01:00
evgeny 1a9fe0a33b Fix stream publisher audio packing and video progress 2026-10-26 09:44:16 +01:00
evgeny 869421cc05 Audit LAN docs and enforce stream member exclusions
Document LAN transport contracts and the completed part of the stream audit. Reject owner-deleted members before profile verification and add network lifecycle coverage for source, supplier and local member removal.

Validation: seven stream checks and all 195 core tests pass; proxy 9/9, burst and load 8/8 pass.
2026-10-26 08:55:31 +01:00
evgeny 0e17756e19 Show stream playback buffer chains on desktop and Android
Send coalesced per-hop telemetry every 200 ms ahead of video DATA using the shared ETCP transport. Measure pending frames before ETCP handoff, retain stale and unavailable node values, and display the worst path with playback tempo.

Bump stream wire protocol to v7. Validate with 187 core tests, 21 desktop player tests, two Android indicator tests, and an Android APK build.
2026-10-25 15:21:23 +01:00
evgeny 5b5221189c Buffer stream PCM before playback and recover underruns without resets 2026-10-25 12:51:19 +01:00
evgeny c3cf86b9e0 Recover streams after five seconds and start from complete keys
Preserve queued media under backpressure, advertise retained keyframe ranges in stream wire v6, and reopen stalled subflows without resetting playback.

Cover large fragmented keys, sustained slow delivery, missing subflows, buffer eviction and stale bootstrap snapshots in integration regressions.
2026-10-25 12:03:49 +01:00
evgeny 4a785c2598 Improve stream recovery, delivery diagnostics and buffer indicators
Preserve essential FEC parts under pressure, coordinate stale-data gaps and reopen source subflows in parallel after transport failures.

Add per-peer network and playback diagnostics, Android and desktop buffer indicators, and regression coverage for Wi-Fi switching and congestion.
2026-10-25 01:18:02 +02:00
evgeny f59f64ea48 docs: remove reviewed header backup files 2026-10-21 15:22:42 +02:00
evgeny f5f106c682 docs: clarify header APIs and preserve originals in .h1 2026-10-21 15:21:27 +02:00
evgeny 5870efdf04 Default stream redundancy to zero on Android and desktop 2026-10-21 12:42:23 +02:00
evgeny 5d9da0c6b1 Preserve exact source EOF across tempo changes and expose DSP lookahead 2026-10-21 01:38:50 +02:00
evgeny e8ee608ba9 Document independent audio preparation and live stream catchup 2026-10-21 01:28:20 +02:00
evgeny 6c619d5f2a Recover stream playback stalls with bounded proportional catchup 2026-10-21 00:56:47 +02:00
evgeny 58c0fc6bba Separate stream audio DSP from bounded PCM consumption 2026-10-21 00:54:30 +02:00
evgeny a2fb562a22 Drain desktop tracks independently and cancel obsolete media on reset 2026-10-20 23:54:55 +02:00
evgeny 852c05590d Expose track completion to desktop and retain the longer media tail 2026-10-20 23:53:58 +02:00
evgeny a54031081b Deliver independent track ends and invalidate batches on gaps 2026-10-20 23:53:23 +02:00
evgeny fbab6eae5d Anchor batch regression at a single initial keyframe 2026-10-20 23:41:12 +02:00
evgeny 039c4a9ed4 Consume desktop media batches with per-track backpressure and wakeups 2026-10-20 23:31:50 +02:00
evgeny 589cdcc81f Add bounded viewer batches and readiness notifications 2026-10-20 23:29:23 +02:00
evgeny c6f7d50838 Measure stream viewer request and worker delays 2026-10-20 22:30:04 +02:00
evgeny 1b036e4ea9 Trace stream startup decoding and presentation delays 2026-10-20 21:34:24 +02:00
evgeny f38aa3b08d Log stream startup key age and buffer handoff delays 2026-10-20 21:27:51 +02:00
evgeny ea5d1fcd45 Consume repeated viewer demand when delivering its reply 2026-10-20 18:45:49 +02:00
evgeny 4fa9d474ab Track live stream catalogues independently for each owner 2026-10-20 16:27:10 +02:00
evgeny 0bc3b62f46 Add independent live stream viewer sessions in the shared core 2026-10-20 15:53:44 +02:00
evgeny 81de8747e2 Move video call and stream diagnostics to module categories 2026-10-18 15:06:16 +02:00
evgeny c03fe3da71 Prime late stream audio without waiting for its playback clock 2026-10-16 17:24:25 +02:00
evgeny 38eae06161 Document microphone watchdogs and pending stream diagnostics 2026-10-16 17:04:46 +02:00
evgeny c37be1c3e8 Trace stream audio startup demand and link Windows COM cleanup 2026-10-16 16:58:01 +02:00
evgeny d60f8e4b1b Preserve stream capture settings and refine audio playback 2026-10-16 14:05:54 +02:00
evgeny 700034eec8 Add broadcast RS settings to desktop and Android 2026-10-16 09:49:58 +02:00
evgeny 8f71a1161b Release stream radio suppression on END and test shared PCM mute 2026-10-16 01:55:28 +02:00
evgeny c9c1bb7cf1 Publish live audio toggles through the shared stream actor 2026-10-16 01:48:07 +02:00
evgeny db7264e271 Suppress source radio playback only while viewing audible streams 2026-10-16 01:47:44 +02:00
evgeny d14f9233ed Separate effective radio silence from stored member mute 2026-10-16 01:47:11 +02:00
evgeny 0f2e81bd0f Advertise stream audio state in signed source options 2026-10-16 01:46:39 +02:00
evgeny a4f508feed Read stream supernode role directly by member ID 2026-10-14 16:49:40 +02:00
evgeny 7dd1176545 Document complete keyframe admission and shared media opening 2026-10-14 16:32:15 +02:00