gramps
102cb96b28
fix(audio): only count audio that actually reached the encoder
...
Second measurement of the same recording family (ty-20261112-1133-701-0000-2.mp4):
wall clock (audio start -> audio stop) 6.477 s
video: 386 frames 6.455 s correct
audio: 294 packets 6.252 s 226 ms SHORT
Same magnitude as the original bug, opposite sign — the clock fixed the tick-rate error and
exposed the next one underneath. Audio started 49 ms before the pump, ffmpeg connected ~80 ms
after, and every chunk written in that window was dropped (dropped writes 27). The loop still
counted those frames as produced, so the track lost exactly that much time.
Now: the clock does not start until the pipe is connected, and AudioClock.Advance counts a
frame only when its write reached the pipe. A dropped write stays owed and is paid off on the
next tick, so a start-up gap costs content (silence, which there was anyway) instead of
length.
Two measurements, two different signs, one lesson: the audio track's LENGTH has to be the
clock's, and anything that removes samples without removing time — a fast tick, a dropped
write — shows up as drift no static offset can fix.
674 tests (one notification-timing flake under full-suite load; passes alone), 0 warnings.
2026-11-12 11:39:20 -08:00
..
2026-11-12 11:39:20 -08:00
2026-11-01 09:55:04 -08:00
2026-11-04 15:01:47 -08:00
2026-11-12 08:24:12 -08:00
2026-11-05 11:41:59 -08:00
2026-11-10 11:55:42 -08:00
2026-11-05 08:20:33 -08:00
2026-11-02 18:17:18 -08:00
2026-10-30 09:30:56 -07:00
2026-11-05 14:59:00 -08:00
2026-08-06 14:35:34 -07:00
2026-11-02 18:17:18 -08:00
Screen backdrop (schema v5/v6) + five-scene catalog + webcam polish: live desktop/game capture as a permanent non-deletable bottom layer (Source.IsBackdrop), auto full-screen game detection (Win32FullScreenDetector) else primary display, GraphicsCapturePicker re-designation, refcounted shared ScreenCaptureManager, Live-only backdrop by policy (HasBackdrop + v5-v6 backfill + EnforceBackdropPolicy, checkbox gone), SceneCatalog (Starting/Live/BRB/Chat/Ending) with + button re-adding missing scenes, webcam mid-session transparent-container fix (GetPreviewBitmap propagation), Chat half-screen-area cap, 'Add Webcam' always opens the picker (SwapWebcamIdentityAsync, no silent resurrect), WindowsRuntimeMarshal frame-read + 5s-throttled errors, docs updated, tests (65 passing)
2026-08-07 14:15:50 -07:00
2026-11-02 18:17:18 -08:00
2026-08-20 18:02:41 -07:00
2026-09-04 12:16:20 -07:00
2026-11-05 09:38:18 -08:00
2026-11-05 08:15:32 -08:00
2026-11-10 12:35:38 -08:00
2026-11-10 11:59:02 -08:00
Screen backdrop (schema v5/v6) + five-scene catalog + webcam polish: live desktop/game capture as a permanent non-deletable bottom layer (Source.IsBackdrop), auto full-screen game detection (Win32FullScreenDetector) else primary display, GraphicsCapturePicker re-designation, refcounted shared ScreenCaptureManager, Live-only backdrop by policy (HasBackdrop + v5-v6 backfill + EnforceBackdropPolicy, checkbox gone), SceneCatalog (Starting/Live/BRB/Chat/Ending) with + button re-adding missing scenes, webcam mid-session transparent-container fix (GetPreviewBitmap propagation), Chat half-screen-area cap, 'Add Webcam' always opens the picker (SwapWebcamIdentityAsync, no silent resurrect), WindowsRuntimeMarshal frame-read + 5s-throttled errors, docs updated, tests (65 passing)
2026-08-07 14:15:50 -07:00
2026-11-10 11:55:42 -08:00
2026-08-31 18:57:29 -07:00
2026-08-31 19:45:48 -07:00
2026-08-31 19:45:48 -07:00
2026-09-14 18:40:20 -07:00
2026-11-10 12:41:39 -08:00
2026-08-26 06:48:14 -07:00
2026-08-06 14:35:34 -07:00
2026-08-12 07:21:15 -07:00
2026-08-31 18:57:29 -07:00
2026-08-20 18:02:41 -07:00
2026-11-05 07:54:06 -08:00
2026-08-07 17:44:16 -07:00
2026-11-11 10:19:20 -08:00
2026-11-05 14:56:20 -08:00
2026-08-23 12:25:04 -07:00
Screen backdrop (schema v5/v6) + five-scene catalog + webcam polish: live desktop/game capture as a permanent non-deletable bottom layer (Source.IsBackdrop), auto full-screen game detection (Win32FullScreenDetector) else primary display, GraphicsCapturePicker re-designation, refcounted shared ScreenCaptureManager, Live-only backdrop by policy (HasBackdrop + v5-v6 backfill + EnforceBackdropPolicy, checkbox gone), SceneCatalog (Starting/Live/BRB/Chat/Ending) with + button re-adding missing scenes, webcam mid-session transparent-container fix (GetPreviewBitmap propagation), Chat half-screen-area cap, 'Add Webcam' always opens the picker (SwapWebcamIdentityAsync, no silent resurrect), WindowsRuntimeMarshal frame-read + 5s-throttled errors, docs updated, tests (65 passing)
2026-08-07 14:15:50 -07:00
2026-09-22 07:00:47 -07:00
2026-11-06 12:21:24 -08:00
2026-08-31 09:10:17 -07:00
2026-11-10 12:48:41 -08:00
2026-11-10 17:45:39 -08:00
2026-11-10 17:45:39 -08:00
2026-11-12 11:15:50 -08:00
2026-11-10 17:59:28 -08:00
2026-09-22 08:07:54 -07:00
2026-08-25 17:25:25 -07:00
2026-08-06 14:35:34 -07:00
2026-10-05 11:10:22 -07:00
2026-11-05 08:15:32 -08:00
2026-11-05 09:15:30 -08:00
2026-08-07 17:44:16 -07:00
2026-09-14 18:40:20 -07:00
2026-11-11 10:19:20 -08:00
2026-08-21 08:18:52 -07:00
2026-11-05 09:57:07 -08:00
2026-09-27 15:37:46 -07:00
2026-10-16 18:23:20 -07:00
2026-11-09 13:05:44 -08:00
2026-11-09 13:05:44 -08:00
2026-09-22 07:00:47 -07:00
2026-08-22 18:10:59 -07:00
2026-11-09 10:06:36 -08:00
2026-08-16 17:48:37 -07:00
2026-11-05 12:09:38 -08:00
2026-11-05 12:09:38 -08:00
2026-11-05 15:38:32 -08:00
2026-09-24 08:27:00 -07:00
2026-11-04 17:05:06 -08:00
2026-10-27 09:12:59 -07:00
2026-11-05 10:40:25 -08:00
2026-11-05 08:05:18 -08:00
2026-09-27 09:43:26 -07:00
2026-09-14 16:14:00 -07:00
2026-09-27 08:56:12 -07:00
2026-08-20 18:02:41 -07:00
2026-09-22 07:00:47 -07:00
2026-08-07 17:44:16 -07:00
2026-11-05 16:41:09 -08:00
2026-10-30 14:42:40 -07:00
2026-11-05 14:53:06 -08:00
2026-11-05 12:09:38 -08:00
2026-11-05 16:41:09 -08:00