Commit Graph
1196 Commits
Author SHA1 Message Date
evgeny ea65d87ec1 Round-trip real codecs using the negotiated level and reject invalid envelopes 2026-10-14 22:10:42 +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 0f570edbd0 Exercise real H264 and H265 calls across delayed bitrate switches 2026-10-14 21:55:11 +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 43a90ff23b Build shared live video library independently from stream publication 2026-10-14 21:44:16 +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 f89494fb4f Specify deferred bitrate changes and validate IDR before releasing old encoder 2026-10-14 21:39:24 +02:00
evgeny abf7ccf566 Probe x265 bitrate switching at scheduled IDR with encoder replacement 2026-10-14 21:38:05 +02:00
evgeny e20f4113a4 Record x265 reconfiguration defect and validated dependency patch 2026-10-14 21:33:41 +02:00
evgeny 5d8c6b8ff3 Add measured x265 bitrate adaptation probe for call backends 2026-10-14 21:32:02 +02:00
evgeny 6980bc7a88 Expose the adaptive call video range in Android audio settings 2026-10-14 21:17:46 +02:00
evgeny f04e3fd995 Persist the Android call video bitrate range atomically 2026-10-14 21:10:12 +02:00
evgeny 6cbb13d11d Translate call bitrate range settings 2026-10-14 21:08:13 +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 a978bb7b06 Exercise call clocks through Opus and jitter recovery 2026-10-14 19:36:51 +02:00
evgeny e975d24a73 Track Android call capture and playback clocks 2026-10-14 19:36:11 +02:00
evgeny 023f3a335e Pass call audio timing across Android JNI 2026-10-14 19:36:11 +02:00
evgeny 9fe5cd4c27 Test call capture timestamps and device progress 2026-10-14 19:35:56 +02:00
evgeny c041882f5f Observe capture timestamps and device progress in voice tests 2026-10-14 19:30:28 +02:00
evgeny 0195732b4e Keep call audio regressions explicit about untimed sources 2026-10-14 19:29:05 +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 fe2fa73cc0 Test audio timeline boundaries and sustained SoundTouch playback 2026-10-14 19:23:40 +02:00
evgeny 4939ee7fb0 Account for transposer prefill in source coordinates 2026-10-14 19:19:50 +02:00
evgeny 811b980883 Verify exact SoundTouch provenance and unchanged PCM output 2026-10-14 19:17:46 +02:00
evgeny d441d9634d Document measured SoundTouch clock drift before video integration 2026-10-14 18:44:15 +02:00
evgeny 05d9e3f22e Check SoundTouch source time against identifiable audio samples 2026-10-14 18:42:46 +02:00
evgeny 8eef506eed Enable pinch zoom and bounded panning in Android live viewer 2026-10-14 17:41:12 +02:00
evgeny c39610f079 Share video zoom geometry between Android viewers 2026-10-14 17:36:38 +02:00
evgeny 931631a4a9 Show Android live streams fullscreen with automatic orientation and timed controls 2026-10-14 17:28:16 +02:00
evgeny ded0d401c7 Match stream audio queue to device buffer and document playback ownership 2026-10-14 17:19:04 +02:00
evgeny 0fdc6e435b Fix Android stream audio backpressure without blocking video 2026-10-14 17:16:45 +02:00
evgeny 97fea6e809 Use shared media opening in desktop and Android viewers 2026-10-14 16:30:38 +02:00
evgeny 12ad2bf14b Release all preview session outputs when the camera device closes 2026-10-14 15:44:08 +02:00
evgeny 117087d56b Distinguish camera preview failure from a stopped stream 2026-10-14 15:43:24 +02:00
evgeny 2ee3103c8c Avoid double sensor rotation in direct Android camera preview 2026-10-14 15:43:24 +02:00
evgeny b8a2d7a555 Detach direct camera preview immediately when UI goes to background 2026-10-14 15:30:03 +02:00
evgeny 78054b2c1d Measure direct preview frame age using camera timestamp clocks 2026-10-14 15:19:49 +02:00
evgeny 548e64c963 Use direct camera preview instead of a local stream decoder 2026-10-14 14:58:03 +02:00
evgeny e8a63ec40d Send Android camera frames directly to preview surfaces 2026-10-14 14:58:03 +02:00
evgeny 9ef18b6324 Release Android inflight state at decoder EOS before audio tail 2026-10-14 14:17:35 +02:00
evgeny 8d0504c759 Exercise codec output delay explicitly in the desktop fixture 2026-10-14 14:04:45 +02:00
evgeny 5ce2877fc0 Bound desktop codec work and drain delayed frames through EOF 2026-10-14 13:57:58 +02:00
evgeny c02222610b Preserve observed decoder lead while its pipeline drains 2026-10-14 13:49:57 +02:00
evgeny 360a6efafc Verify outstanding read replies and explicit video demand 2026-10-14 13:49:14 +02:00
evgeny 74c96ba5e9 Let desktop codecs read ahead while keeping presentation bounded 2026-10-14 13:43:23 +02:00