Commit Graph
623 Commits
Author SHA1 Message Date
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 cecbc682a0 Move stream start and stop into the title bar 2026-10-22 18:13:43 +02:00
evgeny 6a1c289ab2 Keep Bluetooth SCO active for radio reception without capture 2026-10-22 17:59:11 +02:00
evgeny bb380441a3 Fix shared microphone crackle from timestamp jitter 2026-10-22 16:53:25 +02:00
evgeny c9a3a1334b Restore shared media playback to speaker after headset loss 2026-10-22 15:24:13 +02:00
evgeny 2b63c680b2 Verify shared Android audio ownership on a physical device 2026-10-22 15:07:26 +02:00
evgeny 44a3b33c3a Expose shared audio devices in stream viewing and document them 2026-10-22 15:07:26 +02:00
evgeny 5d10a16baa Use shared audio controls in radio and stream publication 2026-10-22 15:07:25 +02:00
evgeny 33ccba1f3f Add a common audio device selector for radio and streams 2026-10-22 15:07:25 +02:00
evgeny bebc579180 Share media playback devices and await cleanup before calls 2026-10-22 15:07:25 +02:00
evgeny a893f6b4f2 Route radio and stream capture through the shared controller 2026-10-22 15:07:25 +02:00
evgeny ecada765a2 Own Android media devices in one shared audio controller 2026-10-22 15:07:25 +02:00
evgeny b72e51accb Keep shared microphone PCM continuous across device changes 2026-10-22 15:07:25 +02:00
evgeny abf342534f Encrypt P2P call media and validate service IDs
Require signed and encrypted call audio/video using static identity keys. Fix attachment service ID collisions and media download handle lifetime; isolate LAN tests and audit the shared service registry.
2026-10-21 15:06:27 +02:00
evgeny 5870efdf04 Default stream redundancy to zero on Android and desktop 2026-10-21 12:42:23 +02:00
evgeny 34db81c5cf Show green stream watch buttons only for active streams 2026-10-21 12:30:08 +02:00
evgeny 550f384c69 Tidy stream video worker source formatting 2026-10-21 01:40:04 +02:00
evgeny a6b909b70e Add device regression for independent stream audio and video workers 2026-10-21 01:38:50 +02:00
evgeny fcb0768052 Protect SoundTouch lookahead when catching up live stream audio 2026-10-21 01:38:50 +02:00
evgeny 4e5530aca0 Isolate Android live video decoding from audio preparation 2026-10-21 01:23:35 +02:00
evgeny 4fa3b18cc2 Feed Android stream mixer from prepared PCM without holding DSP lock 2026-10-21 01:18:56 +02:00
evgeny 50cf61e9cd Mix partial stream PCM without copying stale buffer tails 2026-10-21 01:11:35 +02:00
evgeny 32e648ea9e Release audio holds at video EOF and stop Android batches promptly 2026-10-21 00:15:34 +02:00
evgeny c887780022 Consume Android batches with independent track completion 2026-10-21 00:13:01 +02:00
evgeny a538f99bf0 Expose viewer wake signals and complete audio independently on Android 2026-10-21 00:13:01 +02:00
evgeny 9fb4823df0 Batch Android viewer records and wake readers on data or stop 2026-10-21 00:13:01 +02:00
evgeny 0d9c728efe Test bounded batches, track budgets, notifications and FIN 2026-10-20 23:34:57 +02:00
evgeny b1112981fa Timestamp Android decoder output at the observation point 2026-10-20 21:44:10 +02:00
evgeny a4419b4c89 Validate Android surface timestamps in stream diagnostics 2026-10-20 21:40:20 +02:00
evgeny 1b036e4ea9 Trace stream startup decoding and presentation delays 2026-10-20 21:34:24 +02:00
evgeny b26538c48f Keep replacement camera preview active during tile disposal 2026-10-20 20:15:08 +02:00
evgeny 39bca58515 Open Android stream controls from own multiview tile 2026-10-20 20:11:49 +02:00
evgeny ca7e169811 Keep Android publisher screen focused on capture controls 2026-10-20 20:10:36 +02:00
evgeny d7053a2366 Open active stream controls from any Android header 2026-10-20 19:58:55 +02:00
evgeny 59858a726a Share active stream button across Android group and home headers 2026-10-20 19:56:50 +02:00
evgeny 5b6ed6ee78 Exclude own stream from remote stream selectors 2026-10-20 19:52:22 +02:00
evgeny 7e95c3043b Add own live stream shortcut to Android chat header 2026-10-20 19:49:27 +02:00
evgeny 5c1619420a Show own Android multiview source through silent camera preview 2026-10-20 19:17:59 +02:00
evgeny c4b2052b27 Label multiview tap targets and record Samsung fullscreen verification 2026-10-20 19:06:14 +02:00
evgeny b46f13920c Expand Android multiview tiles on tap without restarting playback 2026-10-20 19:00:40 +02:00
evgeny ba26b14f16 Include decoder frame state in Android stream failure logs 2026-10-20 18:46:57 +02:00
evgeny b3ebc09b9b Wait for shared Android stream output release before starting calls 2026-10-20 17:13:59 +02:00
evgeny c98fdc6297 Reject duplicate Android catalogue entries before updating grid 2026-10-20 17:12:21 +02:00
evgeny 4a44149c00 Translate Android multiview controls and empty state 2026-10-20 17:07:37 +02:00
evgeny 5f0325e817 Expose watch-all streams from Android chat and preserve catalogue on transient errors 2026-10-20 17:07:31 +02:00
evgeny 9e5b2ad435 Add adaptive Android grid with automatic source reconciliation 2026-10-20 17:07:19 +02:00
evgeny 14b152bb5a Keep Android stream surfaces alive until decoder release and fit grid geometry 2026-10-20 17:07:12 +02:00
evgeny 75806249bd Run Android players concurrently and fall back between decoders 2026-10-20 16:58:41 +02:00
evgeny 4e386fc8e3 Mix Android streams on one AudioTrack with independent clocks 2026-10-20 16:58:32 +02:00