Commit Graph
3656 Commits
Author SHA1 Message Date
evgeny 9ca0e61361 Expose nonblocking call clock access through both mutexes 2026-10-19 21:07:44 +02:00
evgeny 562bdf54a6 Add nonblocking jitter clock reads for video scheduling 2026-10-19 21:07:44 +02:00
evgeny 193a549d47 Expose lock-free cumulative call video receive count 2026-10-19 21:07:19 +02:00
evgeny 7b38fd0269 Diagnose decoder work crossing video presentation deadlines 2026-10-19 20:57:45 +02:00
evgeny 10018d008e Update call video controls and sensor rotation across Android and desktop 2026-10-19 20:24:39 +02:00
evgeny ae1d05deda Fix FFmpeg D3D11VA implementation selection on Windows 2026-10-19 19:45:00 +02:00
evgeny 64761fd945 Record verified video builds and intermittent stream audio timing assertion 2026-10-19 19:27:50 +02:00
evgeny 5e38e5b71d Use minimal timer access and diagnose failed video image transforms 2026-10-19 19:24:07 +02:00
evgeny 9d45488369 Require live GPU output before EOS and document presentation-clock buffering 2026-10-19 19:21:48 +02:00
evgeny 16bdf95ba3 Prefer verified Android hardware codecs and use measured low-latency decoder pipeline 2026-10-19 19:21:01 +02:00
evgeny 2a08fd8acd Report decoder stage timings and detect real output stalls independently of playback waits 2026-10-19 19:19:27 +02:00
evgeny ecdba8fb63 Measure presentation cadence and stop latency while preserving unaccepted GPU KEY on fallback 2026-10-19 19:16:17 +02:00
evgeny 243233a20b Test delayed decoder output, four slice threads and complete generation drains 2026-10-19 19:15:05 +02:00
evgeny a4a687be4c Recover real GPU decoder failures on CPU without treating ordinary EAGAIN as frame loss 2026-10-19 19:14:03 +02:00
evgeny f9348ce36f Verify actual bitstreams through asynchronous decoder API and CPU encoder fallback 2026-10-19 19:13:00 +02:00
evgeny 5f45b38cfb Exercise acknowledged frame timing, lossless stalls and queue-dependent deceleration 2026-10-19 19:12:23 +02:00
evgeny 8eb869e41c Enable device-backed FFmpeg hardware decoding and verify exact RX queue accounting 2026-10-19 19:11:07 +02:00
evgeny 4bb2e42a7e Keep decoder reserve based on paced probe rather than transient burst depth 2026-10-19 19:09:17 +02:00
evgeny 895cdd5ac2 Apply presentation-clock queue pacing and three decoded slots to Android 2026-10-19 19:08:51 +02:00
evgeny ecae1cc3c2 Drive desktop video from presentation ACKs with three decoded slots and interruptible deadlines 2026-10-19 19:07:51 +02:00
evgeny 713a972c01 Decode call video through bounded submit/drain with verified GPU and four CPU slice threads 2026-10-19 19:06:52 +02:00
evgeny dc22014bcc Use four CPU encoder workers and retain GPU priority with software fallback 2026-10-19 19:04:08 +02:00
evgeny 28f3b264b8 Anchor video pacing to presentation acknowledgements and total backlog 2026-10-19 19:03:48 +02:00
evgeny baeb4973dd Expose RX frame depth and wake decoding when complete video arrives 2026-10-19 19:02:51 +02:00
evgeny c92f7991ec Record Windows startup GUI stalls and capture-gap scheduling correction 2026-10-19 18:25:34 +02:00
evgeny 40dcc76adb Trace GUI event loop stalls separately from video painting and dispatch 2026-10-19 18:24:57 +02:00
evgeny 47033718ad Apply capture gap recovery cadence consistently on Android 2026-10-19 18:23:25 +02:00
evgeny 526ee5ec8b Test queued capture gaps without dropping frames or delaying ready video 2026-10-19 18:23:25 +02:00
evgeny 9bffe49e62 Bound video display cadence independently of capture timestamp gaps 2026-10-19 18:22:47 +02:00
evgeny 642fc34bcc Bound video recovery correction before media timestamp arithmetic 2026-10-19 17:45:17 +02:00
evgeny 12e9e4da37 Verify GPU backlog drains fully without additional camera inputs 2026-10-19 17:44:14 +02:00
evgeny d266c5da25 Respect GPU pipeline capacity before submitting a new camera frame 2026-10-19 17:43:45 +02:00
evgeny 0f22be6885 Check audio source rate at the actual PCM span boundary 2026-10-19 17:42:49 +02:00
evgeny b7ae7ef700 Document lossless recovery contract and verify actual audio source rate 2026-10-19 17:40:51 +02:00
evgeny a9b91145a6 Document sequential presentation diagnostics and simplify GUI frame ownership 2026-10-19 17:39:54 +02:00
evgeny 4ed2c4bbab Wake video transmission on router queue readiness without polling delay 2026-10-19 17:38:31 +02:00
evgeny 5f1985f9ab Verify RX drain and explicit decoder rejection semantics 2026-10-19 17:37:24 +02:00
evgeny 943f9f2646 Drain receiver backlog before admitting new production and avoid double waiting 2026-10-19 17:35:57 +02:00
evgeny 02e7bbd9af Acknowledge Android frames after RenderThread consumption on all supported APIs 2026-10-19 17:34:44 +02:00
evgeny b11a1beb44 Test lossless mailbox retry after partial video transmission 2026-10-19 17:33:25 +02:00
evgeny 322947777c Stop invalid encoder output explicitly while preserving transient backpressure retries 2026-10-19 17:32:49 +02:00
evgeny c0422a73c0 Drain accepted MediaCodec inputs before bitrate fallback replacement 2026-10-19 17:31:46 +02:00
evgeny 0e53a9f5dd Log retained video batches and verify every GPU input across bitrate changes 2026-10-19 17:31:15 +02:00
evgeny 486d3314ef Acknowledge Android texture consumption before presenting the next frame 2026-10-19 17:30:03 +02:00
evgeny 13f09cfc20 Drain old GPU frames before bitrate replacement and poll outputs while blocked 2026-10-19 17:29:10 +02:00
evgeny 5f772fa97f Drain GPU outputs independently of capture and verify lossless recovery 2026-10-19 17:28:13 +02:00
evgeny 0bc2715a30 Preserve Android encoder outputs and throttle raw input before encoding 2026-10-19 17:25:50 +02:00
evgeny 0a2700a387 Use measured media tempo for sequential Android video playout 2026-10-19 17:25:16 +02:00
evgeny 4e9cce8a01 Present desktop video sequentially through GUI paint acknowledgement 2026-10-19 17:23:58 +02:00
evgeny 0eb743d627 Retain video mailbox tails and pause raw input under backpressure 2026-10-19 17:22:51 +02:00