• v0.7.6 d6841cd03d

    v0.7.6 Stable

    builduser released this 2026-09-07 06:08:32 +02:00 | 7 commits to main since this release

    Makes a failing virtual camera say what actually went wrong, and fixes one
    that could stop for good without ever reporting it.

    The reason was being discarded

    A camera failing said:

    vcam agent: Nate-Windows: flv: write tag body: write | 1: broken pipe
    

    That is the symptom and never the reason. Writing to ffmpeg's input only
    breaks because ffmpeg has already exited, and its own message, which says what
    actually went wrong, was thrown away in exactly that case: the feed error
    returned first and the captured output was never looked at.

    What ffmpeg said now comes first, along with the device it was writing to,
    since a rig has several and knowing which one failed matters:

    vcam agent: Nate-Windows: ffmpeg failed writing to /dev/video11: <reason>
    

    Reading that message also raced with waiting for the process, which closes the
    pipe, so it could be truncated or lost depending on timing. It is now read to
    the end first.

    A dead decoder could hang instead of restarting

    Feeding blocks waiting for media, so a session that only ended when the feed
    failed would hang for as long as a source stayed quiet after ffmpeg died: no
    write, no error, no restart, and a camera that never came back. The feed now
    ends when the process does.

    The decoder behind the program view had both faults and both fixes.

    Downloads

    File For
    streamsink-0.7.6-linux-amd64.tar.gz Linux server, client and agent
    streamsink-0.7.6-windows-agent-amd64.zip Windows agent, headless
    streamsink-0.7.6-windows-server-amd64.zip Windows server and client, with the GTK4 runtime
    streamsink-0.7.6-windows-decoder-amd64.zip Windows decoder, for the program view
    SHA256SUMS checksums, used by the updater
    Downloads