Record video audit failures and missing API contracts

This commit is contained in:
evgeny committed 2026-10-21 23:28:53 +02:00
1 parent 1d7e12c562
commit fb01a9bb2e
1 file changed
+12
+12
View File
@@ -4,6 +4,18 @@
## Текущие задачи
[ ] **video: сохранность исходника и достоверность результата JPEG** — аудит 21.10.2026:
`video_transcode_start(src, src)` на подходящем H.264/MP4 запускает копирование с `fopen(dst, "wb")`:
временный исходник уменьшился с 1522 до 0 байтов, callback вернул ошибку уже после потери данных.
`video_extract_thumbnail` не проверяет fwrite/fclose: запись в `/dev/full` вернула 0 и лог успеха.
Короткое видео H.264 с задержанными кадрами возвращает -1 без превью: при EOF не выполняется drain
декодера; тот же файл штатный FFmpeg преобразует в JPEG. Контрольный intra-файл получает превью.
В video.h также уточнить синхронное чтение при probe, глобальный лимит одного transcode до done,
время жизни callback info, ошибки/стабы без FFmpeg и фактические условия needs_transcode.
Отдельно проверить игнорируемые ошибки финального drain/close, частичную настройку audio и обрезание путей.
Исправления реализации не вносились. Стенд /tmp/utun-video-audit.c, сборка /tmp/utun-video-audit.mk;
логи /tmp/utun-video-audit-intra.log, /tmp/utun-video-audit-full.log, /tmp/utun-video-audit-delayed.log.
[+] **tcp_io: владение connect-таймером и повторный FIN** — 21.10.2026:
Замена таймаута сохраняет старый таймер при ошибке создания нового; <=0 отменяет таймер.
Возвращаемые ошибки и диапазон INT_MAX/10 проверяются API и TCP-прокси; connect/error/destroy отменяют таймер.