Commit Graph
495 Commits
Author SHA1 Message Date
evgeny 4c2d8aa4cc Prevent delayed camera startup from shifting video into the future 2026-10-15 02:32:35 +02:00
evgeny 15e4fcb710 Measure capture clock offset and video audio-barrier latency 2026-10-15 02:29:09 +02:00
evgeny 4447f25e37 Record live camera FPS diagnosis and guard ownership 2026-10-15 02:21:16 +02:00
evgeny f84b24806e Keep UVC camera frame rate stable during video calls 2026-10-15 02:20:32 +02:00
evgeny 459b1ecc01 Display every new desktop call preview frame 2026-10-15 02:18:54 +02:00
evgeny fc0559c974 Preserve fractional frame budget when downsampling cameras 2026-10-15 02:13:42 +02:00
evgeny f8e960c844 Retain jitter tolerance across desktop camera phase drift 2026-10-15 02:12:16 +02:00
evgeny fe2ccb07e1 Keep 60 fps downsampling away from half-period ties 2026-10-15 02:05:29 +02:00
evgeny ee9af6533d Avoid accumulated rounding in call frame pacing 2026-10-15 02:05:08 +02:00
evgeny f3eed42c3f Preserve desktop camera cadence under timestamp jitter 2026-10-15 02:04:26 +02:00
evgeny 95ab911caf Track desktop video frame flow and update call preview geometry 2026-10-15 01:59:59 +02:00
evgeny 9f8fb64e6e Show call video in a separate resizable desktop window 2026-10-15 01:36:14 +02:00
evgeny 0dec628e49 Prepare call video bitrate encoders without pausing capture 2026-10-15 01:13:36 +02:00
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