Reap the video reader on restart to stop ffmpeg processes piling up

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01M8GqDtmNT89ei6EJrQKWXx
This commit is contained in:
henryruhs
2026-07-22 13:44:34 +02:00
parent 787cb893a7
commit 5ee62b0ac0
+3 -1
View File
@@ -55,7 +55,8 @@ def conditional_set_video_reader_position(video_reader : VideoReader, frame_posi
def restart_video_reader(video_reader : VideoReader, frame_position : int) -> None:
video_reader.get('process').terminate()
video_reader.get('process').kill()
video_reader.get('process').wait()
video_reader['process'] = create_video_reader_process(video_reader.get('video_path'), frame_position, video_reader.get('fps'))
video_reader['position'] = frame_position
video_reader['frame_buffer'].clear()
@@ -154,6 +155,7 @@ def close_video_writer(video_writer : subprocess.Popen[bytes]) -> bool:
def clear_video_pool() -> None:
for video_writer in VIDEO_POOL_SET.get('writer').values():
video_writer.terminate()
video_writer.wait()
for video_reader in VIDEO_POOL_SET.get('reader').values():
video_reader.get('process').terminate()