• v0.6.6 0588d92537

    PeerSpeak 0.6.6 — screen shares catch back up
    CI / check (push) Failing after 5m35s
    Stable

    mollusk released this 2026-07-19 19:57:06 +00:00 | 0 commits to main since this release

    Screen shares that fall behind now catch back up.

    Fixed

    A screen share that falls behind now catches back up. On a lossy connection —
    satellite links being the worst case — a share could settle several seconds
    behind the host and simply stay there for the rest of the call. The viewer now
    notices a deep buffer and plays imperceptibly fast until it is back at the live
    edge; the audio stays in tune and in sync while it does.

    This replaces the --untimed approach from 0.6.5, which measurement showed did
    not help: it only removed pacing at presentation, while audio kept draining at
    1× the sound-card rate, so an accumulated backlog never shrank.

    Changed

    Low latency keeps a tighter viewer buffer. The screen-share cache setting is
    a size in megabytes, which at a given bitrate quietly decides how many seconds
    behind a viewer can drift — 2 MB turned out to hold about six seconds of a
    typical share. Low latency now caps that buffer at 1 MB regardless of the
    setting. Smooth still honors the value you choose, since a deep buffer is the
    point of that mode.

    How this was measured

    On a tc netem rig simulating a satellite link (40 ms ±20 ms jitter, 0.5% loss,
    a 250 ms/30%-loss handover burst every 15 s), against the same HTTP stream
    PixelPass actually serves:

    standing buffer recovery
    before ~6 s, permanent none (media/wall 0.9988)
    buffer cap alone ~2.8 s none
    cap + catch-up ~2.8 s 11.6% faster than realtime while behind

    That is roughly 9 s of backlog cleared in 80 s, where previously a viewer that
    fell behind stayed behind for the whole call.

    Not yet confirmed on a real two-machine call — that is the outstanding test.

    Compatibility

    No wire-protocol change (all planes unchanged), so 0.6.6 interoperates with
    0.6.x peers. Existing configs load unchanged.

    Install

    The AppImage needs a Vulkan-capable GPU driver and PipeWire. For screen sharing
    it also uses host GStreamer + mpv; on Arch/Artix:

    sudo pacman -S gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad \
      gst-plugins-ugly gst-libav gst-plugin-pipewire mpv xorg-xwininfo libpulse
    

    The pixelpass screen-share helper is bundled inside the AppImage.

    Downloads