Commit Graph
482 Commits
Author SHA1 Message Date
evgeny 898154b2b6 Keep desktop video in a resizable window and retain decoder on audio clock updates 2026-10-15 00:45:22 +02:00
evgeny a0db643acb Place camera thumbnail inside remote picture and document call layout 2026-10-15 00:34:07 +02:00
evgeny 87a2075dec Keep call diagnostics in settings and translate video controls 2026-10-15 00:32:40 +02:00
evgeny 434b59b1c7 Show remote calls full screen with camera picture in picture 2026-10-15 00:31:50 +02:00
evgeny 4a7d64b2aa Expose call camera preview and clear inactive remote video 2026-10-15 00:31:03 +02:00
evgeny ef397a6b48 Fix call encoder levels under comma decimal locales 2026-10-15 00:06:20 +02:00
evgeny 6910e07c31 Surface failed video configuration and camera capture stalls 2026-10-14 23:40:01 +02:00
evgeny 5f16c79559 Preserve bitrate bounds on format changes and discard late desktop pictures 2026-10-14 23:19:18 +02:00
evgeny 634ef222a4 Fallback desktop video on decoder rejection and verify receive-only codecs 2026-10-14 23:17:25 +02:00
evgeny fe16509293 Advertise desktop decoder capabilities independently of encoders 2026-10-14 23:12:15 +02:00
evgeny 68e5905d9e Adapt call transport tests and desktop setup to profile negotiation 2026-10-14 23:09:51 +02:00
evgeny c7184b55d8 Validate desktop call IDRs with the common bitstream contract 2026-10-14 23:08:47 +02:00
evgeny d01bc395fa Use current FFmpeg profile constants and qualify video port status 2026-10-14 22:39:56 +02:00
evgeny af35d03399 Add live call video controls and display to the desktop call window 2026-10-14 22:39:13 +02:00
evgeny cabae34791 Connect desktop camera workers to negotiated call video and audio clock 2026-10-14 22:37:50 +02:00
evgeny b091aa0df2 Decode call video with bounded input and verified output metadata 2026-10-14 22:36:32 +02:00
evgeny 3f61549769 Open desktop call encoders from the shared negotiated video format 2026-10-14 22:10:21 +02:00
evgeny cab992228c Preserve explicit VBV and report inactive call encoder state 2026-10-14 21:57:58 +02:00
evgeny 327478475c Bound encoder rate requests by the negotiated mode ceiling 2026-10-14 21:46:53 +02:00
evgeny 3b3ba3c495 Add verified call profiles and defer bitrate replacement until IDR 2026-10-14 21:46:13 +02:00
evgeny 45720ebaba Use shared live encoder types in stream publication 2026-10-14 21:44:16 +02:00
evgeny dca1adc173 Extract live video encoder naming for reuse by calls and broadcasts 2026-10-14 21:43:54 +02:00
evgeny 0fe9a779f0 Add call video bitrate range controls to desktop settings 2026-10-14 21:07:50 +02:00
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