peter
c4942eb590
fix(r5): address the fifth /code-review high round — 6 findings
...
- run_ffmpeg stops the process from ONE exit path (`except BaseException`), so
an exception out of on_progress (a DB write) can no longer orphan a live
ffmpeg after a 10s join on its pipes; _stop is now a no-op on a dead process
- both run_ffmpeg callbacks are throttled to ~1s (they were a DB round-trip per
output line: ~10^5 queries on a long re-encode), mirroring the download hook
- volume arithmetic extracted to lib/playerVolume with unit tests; a corrupt
level now falls back to the LAST GOOD one instead of full blast, and the
sanitising happens where the stored value enters
- RSS is back to two except clauses (the shared tail already sits after the try)
- new tests: callback-exception cleanup, the two throttles; the fake Popen grew
poll() and its wait count is now asserted
Mutation-checked: each new group goes red when its fix is reverted.
2026-07-24 01:50:50 +02:00
..
2026-07-21 02:26:40 +02:00
2026-07-18 19:11:25 +02:00
2026-07-21 02:26:40 +02:00
2026-07-19 20:25:06 +02:00
2026-07-18 00:35:57 +02:00
2026-07-21 02:26:40 +02:00
2026-07-22 04:35:02 +02:00
2026-07-20 22:17:51 +02:00
2026-07-22 04:35:02 +02:00
2026-06-12 18:01:43 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 02:26:40 +02:00
2026-07-22 04:35:02 +02:00
2026-07-21 02:26:40 +02:00
2026-06-19 03:22:10 +02:00
2026-07-21 23:29:51 +02:00
2026-07-16 00:54:22 +02:00
2026-07-22 04:35:02 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 02:26:40 +02:00
2026-07-23 03:21:44 +02:00
2026-07-21 02:26:40 +02:00
2026-07-22 04:35:02 +02:00
2026-07-21 02:26:40 +02:00
2026-07-22 04:14:46 +02:00
2026-06-19 11:18:20 +02:00
2026-07-21 02:26:40 +02:00
2026-07-22 04:35:02 +02:00
2026-07-12 00:29:04 +02:00
2026-07-21 02:26:40 +02:00
2026-06-18 01:17:31 +02:00
2026-07-24 00:45:42 +02:00
2026-07-18 18:30:18 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 04:11:19 +02:00
2026-07-19 00:08:34 +02:00
2026-07-23 03:11:35 +02:00
2026-07-21 02:26:40 +02:00
2026-07-22 04:35:02 +02:00
2026-07-21 23:13:53 +02:00
2026-07-13 02:28:06 +02:00
2026-07-19 01:25:32 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 02:26:40 +02:00
2026-07-22 04:35:02 +02:00
2026-07-21 02:26:40 +02:00
2026-07-18 19:11:38 +02:00
2026-07-20 01:10:13 +02:00
2026-07-18 05:43:19 +02:00
2026-07-18 05:43:19 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 22:29:39 +02:00
2026-07-24 01:50:50 +02:00
2026-07-21 00:03:07 +02:00
2026-07-22 04:43:02 +02:00
2026-07-21 02:26:40 +02:00
2026-07-22 04:24:38 +02:00
2026-07-22 04:35:02 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 22:29:40 +02:00
2026-07-21 02:26:40 +02:00
2026-07-22 04:35:02 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 02:26:40 +02:00
2026-07-19 01:09:20 +02:00
2026-07-22 01:19:31 +02:00
2026-07-22 04:35:02 +02:00
2026-07-22 00:00:44 +02:00
2026-07-21 02:26:40 +02:00
2026-07-22 04:35:02 +02:00
2026-07-13 02:28:06 +02:00
2026-07-21 23:29:51 +02:00
2026-07-21 02:26:40 +02:00
2026-07-23 04:15:39 +02:00
2026-07-21 02:26:40 +02:00
2026-07-18 19:11:25 +02:00
2026-07-22 04:49:40 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 02:26:40 +02:00
2026-07-02 01:45:16 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 23:36:27 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 02:26:40 +02:00
2026-06-19 11:18:20 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 04:11:19 +02:00
2026-07-21 02:26:40 +02:00
2026-07-19 21:36:54 +02:00
2026-07-21 02:26:40 +02:00
2026-07-21 02:26:40 +02:00
2026-07-23 01:24:34 +02:00
2026-07-21 02:26:40 +02:00