Skip to content

test: the ffmpeg start-up check times out under a parallel test run on Windows #281

Closed

Description

@InstaZDLL

What fails

On 2026-10-17 (#279, a web-only PR), two unit tests in src/media.rs failed on the Windows runner at MediaService::initialize:

media::tests::a_cache_fill_past_its_deadline_is_killed_and_leaves_nothing
media::tests::a_seek_fills_the_cache_while_the_abandoned_play_still_holds_its_lock
called `Result::unwrap()` on an `Err` value: ffmpeg check timed out: ffmpeg

The re-run passed.

Why

check_tool gives ffmpeg -version and ffprobe -version five seconds. Under a parallel test run on the Windows runner, several cold FFmpeg processes start at once, and one of them took longer.

It is the same shape as #240: a hard five-second budget that a contended machine overruns. There it was the SQLite pool; here it is a process spawn.

Fix

The check exists to refuse to boot on a binary that is missing or hangs, not to time a healthy one. A larger budget (thirty seconds) still catches a hung binary, costs a healthy boot nothing, and cannot turn a wrong answer into a passing one — the only thing this timeout produces is a timeout.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingscope: streamingStreaming, transcoding, FFmpegtype: testTests

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions