mirror of
https://github.com/libretro/RetroArch.git
synced 2026-11-07 08:36:02 -10:00
The encoder waits on data, which each push notifies after writing; a push that finds no room waits on space, which the encoder notifies after each read, bounded so it looks at alive again. No lock is taken on either side and no wake can fall between a check and a sleep. deinit_thread() notifies both once alive is clear. The lock budget holds ffmpeg_push_video, ffmpeg_push_audio and ffmpeg_thread to none.