Commit Graph
459 Commits
Author SHA1 Message Date
evgeny 610773fa90 Document and log the call source clock contract 2026-10-14 19:38:59 +02:00
evgeny 2f3eb66c4c Preserve measured versus estimated device timing in voice mixer 2026-10-14 19:29:04 +02:00
evgeny 39bfedca86 Drive desktop call clock from rendered PCM and capture timing 2026-10-14 19:28:38 +02:00
evgeny 5ce2877fc0 Bound desktop codec work and drain delayed frames through EOF 2026-10-14 13:57:58 +02:00
evgeny 74c96ba5e9 Let desktop codecs read ahead while keeping presentation bounded 2026-10-14 13:43:23 +02:00
evgeny 4e7b8f5c1a Keep desktop stream failure visible after draining 2026-10-14 12:58:09 +02:00
evgeny 470001bbab End desktop publication on fatal audio worker failure 2026-10-14 12:56:26 +02:00
evgeny e99a1b9450 Verify live desktop codec changes preserve the audio epoch 2026-10-14 12:53:24 +02:00
evgeny 8fda2b0751 Format the isolated encoder capability and live setup passes 2026-10-14 12:38:41 +02:00
evgeny 7ad0aa61af Update live x264 bitrate and exclude encoders without forced key support 2026-10-14 12:32:33 +02:00
evgeny e4f9a48c2c Reuse static screen frames across encoder changes and test rollback 2026-10-14 12:27:50 +02:00
evgeny 2caa9504c9 Report capture termination and preserve explicit microphone selection 2026-10-14 12:11:36 +02:00
evgeny 80bd17a28e Open own broadcast controls and keep rejected voice recording idle 2026-10-14 12:08:01 +02:00
evgeny ba17f9908d Render raw preview at 30 fps and preserve fallback audio sample timing 2026-10-14 12:06:45 +02:00
evgeny 27f3726124 Inspect capture plugin dependencies and recognize XWayland sessions 2026-10-14 11:49:04 +02:00
evgeny 97c460e2f1 Observe capture activation raw frames and encoder generations 2026-10-14 11:44:11 +02:00
evgeny 7f7bb1c939 Verify forced keyframes and isolate encoder probes from live timestamps 2026-10-14 11:25:38 +02:00
evgeny 1b85406b13 Trace encoder responses to explicit random access frame requests 2026-10-14 11:21:11 +02:00
evgeny 4a4397ace1 Start portal encoder deadlines after the first permitted capture frame 2026-10-14 10:20:50 +02:00
evgeny 29313cce54 Reserve broadcast capture exclusively while preserving shared voice I/O 2026-10-14 10:17:48 +02:00
evgeny 386998598e Restore bitrate controls and wait for explicit portal source selection 2026-10-14 02:58:45 +02:00
evgeny ce461521e4 Defer source failures and end calls that cannot reserve audio capture 2026-10-14 02:56:36 +02:00
evgeny 50fad4ceff Preserve video color range and handle capture worker failures 2026-10-14 02:55:36 +02:00
evgeny ce46677dfb Keep voice recording from opening an already owned microphone 2026-10-14 02:54:30 +02:00
evgeny b3c698be25 Prevent radio capture from competing with a broadcast microphone 2026-10-14 02:54:20 +02:00
evgeny c1d7460254 Own publication independently of its window and reserve call capture 2026-10-14 02:54:19 +02:00
evgeny ab01c6dc48 Expose broadcast setup even when a channel has no live sources 2026-10-14 02:53:22 +02:00
evgeny c91bb2828f Keep raw preview and source permissions independent of video encoding 2026-10-14 02:52:36 +02:00
evgeny f96443e1a6 Add desktop broadcast controls and aggregate send indicators 2026-10-14 02:51:41 +02:00
evgeny 701a7d0eac Capture camera screen and stereo microphone for desktop publication 2026-10-14 02:49:12 +02:00
evgeny 0055b86b19 Encode low latency desktop video with codec specific keyframes 2026-10-14 02:44:59 +02:00
evgeny 77acdb2d65 Expose radio compressor settings to publication workers 2026-10-14 02:35:55 +02:00
evgeny 643420b644 Record codec and telemetry validation with precise decoder diagnostics 2026-10-14 02:11:59 +02:00
evgeny 3e7197702b Decode all supported video formats from uAV2 on desktop 2026-10-14 01:14:38 +02:00
evgeny c0c4310f08 Clarify desktop demand reader ownership and preparation bounds 2026-10-14 00:06:23 +02:00
evgeny be7c3c5811 Bound desktop decoder work and drain Android codec with monotonic EOS timestamps 2026-10-14 00:04:08 +02:00
evgeny 3010fe25db Hold video only playback clocks on starvation and drain finished audio 2026-10-13 23:32:27 +02:00
evgeny a12665bbd1 Drive desktop ring playback from corrected history and physical audio time 2026-10-13 23:30:06 +02:00
evgeny 79701feef1 Drain startup audio on END and validate Opus fixture failures 2026-10-13 16:27:12 +02:00
evgeny f42b085e12 Align desktop audio startup with the first decoded video frame 2026-10-13 16:26:11 +02:00
evgeny 214a98efb1 Play live stereo on desktop and verify channel separation 2026-10-13 14:17:26 +02:00
evgeny 736fb92ed7 Document live playback queue bounds and latency regression 2026-10-13 12:57:37 +02:00
evgeny ef67e3ed2c Preserve video frames until audio clock reaches their PTS 2026-10-13 12:55:56 +02:00
evgeny 3a6dacf378 Add stream camera controls and preserve playback on changes 2026-10-13 01:00:53 +02:00
evgeny 061eb0f0f8 Preserve initial channel watches until desktop core attaches 2026-10-12 22:30:38 +02:00
evgeny 6e596f34a5 Notify viewers when channels close and refresh resumed playback state 2026-10-12 22:18:04 +02:00
evgeny 7addfb5aa3 Keep live decoding low latency and preserve publisher stop controls 2026-10-12 22:15:11 +02:00
evgeny b4ebaa8863 Open desktop stream playback windows from channel sources 2026-10-12 22:12:41 +02:00
evgeny fe7734b9e0 Show live sources and select a stream in desktop channel headers 2026-10-12 22:12:41 +02:00
evgeny 10f197c817 Decode and play desktop live H264 and Opus streams 2026-10-12 22:11:35 +02:00