Document video publication and cancellation in service lifecycle

This commit is contained in:
evgeny committed 2026-10-22 00:15:54 +02:00
1 parent 3f603534e9
commit 0653121fc4
1 file changed
+12
+12
View File
@@ -117,6 +117,18 @@ Worker резервирует completion до запуска и передаёт
транскодирование или распознавание речи может задержать stop; принудительного
прерывания этих библиотек нет.
Подготовка файлов в `src/video/video.h` выполняет remux подходящих H.264/AAC либо
перекодирование в MP4 H.264/YUV420P и AAC. Worker пишет уникальный соседний временный
файл, завершает декодеры/ресемплер/FIFO/кодеры, проверяет trailer, закрытие и метаданные.
Конечное имя заменяется только успешным completion в uasync. При отмене, включая
отмену уже подготовленного результата до доставки completion, временный файл удаляется,
старое назначение сохраняется. Совпадающие исходник/назначение и файловые алиасы
отклоняются; исходный файл должен оставаться неизменным до done. В процессе занята
одна задача до completion; атомарный захват исключает гонку между экземплярами ядра.
Перед done занятость освобождается, поэтому callback может запустить следующую задачу.
JPEG использует те же правила файлов, но извлекается синхронно в отдельном frontend worker.
Probe также синхронен и не обещает ограниченного времени чтения.
Live media хранится в RS-кольце с общим индексом PTS; каждый локальный handle владеет
отдельным cursor. Пауза player не останавливает сетевой ingest и не закрепляет старые
части против вытеснения. После FIN publisher может снять своё владение, сохранив