Skip to content

Releases: Eyevinn/strom

v0.6.6

Choose a tag to compare

@github-actions github-actions released this 26 Jun 10:55
973984e

What's Changed

  • chore: bump to 0.6.6-dev, document 0.6.3–0.6.5 by @srperens in #641
  • chore(deps): bump thread-priority from 3.0.0 to 3.1.0 by @dependabot[bot] in #642
  • chore(deps): bump egui_extras from 0.34.2 to 0.34.3 by @dependabot[bot] in #643
  • chore(deps): bump time from 0.3.47 to 0.3.49 by @dependabot[bot] in #644
  • chore(deps): bump tower-http from 0.6.11 to 0.7.0 by @dependabot[bot] in #645
  • chore(deps): bump chrono from 0.4.44 to 0.4.45 by @dependabot[bot] in #646
  • chore(deps): bump sysinfo from 0.39.3 to 0.39.5 by @dependabot[bot] in #648
  • chore(deps): bump time from 0.3.49 to 0.3.51 by @dependabot[bot] in #649
  • chore(deps): bump rustls from 0.23.40 to 0.23.41 by @dependabot[bot] in #650
  • chore(deps): bump thread-priority from 3.1.0 to 3.1.1 by @dependabot[bot] in #651
  • chore(deps): bump uuid from 1.23.2 to 1.23.3 by @dependabot[bot] in #652
  • chore(ci): move sccache cache to olivedev MinIO instance by @srperens in #653
  • ci: make sccache cache non-blocking via a backend preflight by @srperens in #654
  • TAMS Output block with OSC PAT/SAT auth by @srperens in #647
  • chore: release v0.6.6 by @srperens in #655

Full Changelog: v0.6.5...v0.6.6

v0.6.5

Choose a tag to compare

@github-actions github-actions released this 12 Jun 11:00
6e4b1f6

What's Changed

  • feat(vision-mixer): make multiview PVW/PGM positions swappable by @srperens in #637
  • docs(readme): link to hosted Open Live platform by @srperens in #638
  • feat(vision-mixer): ColorCorrect, dithered looks, Vogel blur, and transition fixes by @srperens in #639
  • chore(release): v0.6.5 by @srperens in #640

Full Changelog: v0.6.4...v0.6.5

v0.6.4

Choose a tag to compare

@github-actions github-actions released this 08 Jun 09:19
3ceec8a

What's Changed

  • Handle missing pad properties gracefully across GStreamer versions by @srperens in #633
  • Fix vision mixer FX shader crash on macOS core-profile GL by @srperens in #634
  • fix(videoenc): tame VideoToolbox burst behavior by @srperens in #635
  • fix(vision-mixer): shader FX time-precision freeze, heart wipe pop, real TV roll by @srperens in #636

Full Changelog: v0.6.3...v0.6.4

v0.6.3

Choose a tag to compare

@github-actions github-actions released this 05 Jun 16:17
872421a

What's Changed

  • docs(changelog): add 0.6.1 and 0.6.2 release notes by @srperens in #628
  • fix(whep): re-enable RTX retransmission, keep FEC disabled by @srperens in #629
  • fix(server): harden HTTP(S) accept path against fd exhaustion by @srperens in #630
  • fix(videoenc): cap VBR excursions and bound frame sizes via VBV by @srperens in #631
  • chore: bump version to 0.6.3 by @srperens in #632

Full Changelog: v0.6.2...v0.6.3

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 05 Jun 11:02
e0f7f57

What's Changed

  • ci: route sccache through self-hosted MinIO (S3) cache by @srperens in #611
  • fix(videoenc): decouple VideoToolbox realtime from quality, wire rate-control + keyframe duration by @srperens in #612
  • ci: give x86_64 build job its own rust-cache key by @srperens in #613
  • feat(devices): show exposing API prefix in device picker and sort the list by @srperens in #614
  • ci: cut GHA cache footprint — save rust-cache on main only, drop one-shot caches by @srperens in #615
  • ci: bump actions to Node 24 runtimes by @srperens in #616
  • feat(vision-mixer): per-source crop/zoom (punch-in) for PiP compositions by @srperens in #622
  • ci: build without sccache when S3 credentials are unavailable by @srperens in #623
  • refactor(pipeline): split effects.rs into focused sub-modules by @srperens in #624
  • chore(deps): bump socket2 from 0.6.3 to 0.6.4 by @dependabot[bot] in #617
  • chore(deps): bump sysinfo from 0.39.2 to 0.39.3 by @dependabot[bot] in #618
  • chore(deps): bump egui from 0.34.2 to 0.34.3 by @dependabot[bot] in #619
  • chore(deps): bump serial_test from 3.4.0 to 3.5.0 by @dependabot[bot] in #620
  • chore(deps): bump uuid from 1.23.1 to 1.23.2 by @dependabot[bot] in #621
  • feat(vision-mixer): zone borders as underlay pads, PiP layout presets, transition fixes by @srperens in #625
  • feat(vision-mixer): shader FX engine — custom GLSL looks, wipes and master FX takes (GPU) by @srperens in #626
  • fix(tests): vision mixer FX tests — skip without a working GL context, drop fixed-sleep sampling by @srperens in #627

Full Changelog: v0.6.1...v0.6.2

v0.6.1

Choose a tag to compare

@github-actions github-actions released this 02 Jun 19:16
99ce88c

What's Changed

  • docs: Open Live setup guide for a local Strom instance by @srperens in #604
  • docs: documentation overhaul — Open Live, archive, slimmer README, AI-authorship by @srperens in #605
  • Vision mixer UX: pixel zone editor, snap feedback, honest bus tally by @srperens in #603
  • fix(sources): deinterlace interlaced SRT/EFP inputs for the GL vision mixer by @srperens in #606
  • docs: correct changelog release dates to match git tags by @srperens in #607
  • feat(setup): make NVIDIA driver install non-interactive via REBOOT by @srperens in #608
  • fix(qos): drop upstream QoS events at sink source to stop GstEvent leak by @srperens in #609
  • fix(clocks): restore PTP statistics panel hidden behind domain list by @srperens in #610

Full Changelog: v0.6.0...v0.6.1

v0.6.0

Choose a tag to compare

@github-actions github-actions released this 28 May 10:09
a3fdbf6

What's Changed

  • Mixer: Monitor bus, parallel PFL/AFL, collapsing property panel, scaled max counts by @srperens in #570
  • Bump version to 0.5.2-dev in Cargo.toml by @srperens in #571
  • chore(deps): bump rand from 0.8.5 to 0.8.6 by @dependabot[bot] in #572
  • feat(vision-mixer): Picture-in-Picture sources with zones, FIFO + morph transitions by @srperens in #578
  • chore(deps): bump gst-plugin-webrtc from 0.15.0 to 0.15.2 by @dependabot[bot] in #573
  • feat(api): block-properties endpoint with persist semantics for transient state by @srperens in #579
  • chore(deps): bump mdns-sd from 0.19.1 to 0.19.2 by @dependabot[bot] in #577
  • chore(deps): bump egui_extras from 0.34.1 to 0.34.2 by @dependabot[bot] in #576
  • chore(deps): bump tower-http from 0.6.10 to 0.6.11 by @dependabot[bot] in #575
  • chore(deps): bump gstreamer-controller from 0.25.0 to 0.25.2 by @dependabot[bot] in #574
  • chore(deps): cargo update — patch bumps across the tree by @srperens in #580
  • test(volume-ramp): shrink buffer size to stabilize mid-fade samples by @srperens in #581
  • Bump version to 0.6.0-dev in Cargo.toml by @srperens in #582
  • fix(transitions): lift morphing pad when higher-z incoming is inside morph_start by @srperens in #583
  • ci: bump Check (Linux) timeout from 15 to 25 minutes by @srperens in #584
  • fix(properties): coerce int/uint values for gdouble/gfloat properties by @srperens in #586
  • fix(srt): don't synthesize phantom caller on idle listener by @srperens in #585
  • fix(whep): migrate legacy mode to explicit track counts on flow load by @srperens in #587
  • feat(mixer): derive monitor source gates from PFL/AFL writes by @srperens in #588
  • Update Cargo.toml by @srperens in #589
  • fix(vision-mixer): render overlay VU meters with 4-zone sectors by @srperens in #590
  • fix(build): isolate wasm target dir to avoid cargo lock deadlock by @srperens in #591
  • docs(vision-mixer): add operator-facing user guide by @srperens in #593
  • feat(mixer): tap channel level meters pre-fader by @srperens in #592
  • chore(deps): drop unused agua-gst watermark plugin by @srperens in #595
  • chore(deps): bump mdns-sd from 0.19.2 to 0.20.0 by @dependabot[bot] in #599
  • chore(deps): bump serde_json from 1.0.149 to 1.0.150 by @dependabot[bot] in #598
  • chore(deps): bump garde from 0.22.1 to 0.23.0 by @dependabot[bot] in #596
  • chore(deps): bump reqwest from 0.13.3 to 0.13.4 by @dependabot[bot] in #597
  • perf(state): skip absent elements in block property read-back by @srperens in #601
  • feat(api): per-property ramp_ms overrides on block PATCH by @srperens in #600
  • feat(mixer): add AFL on every aux master and group bus by @srperens in #594
  • chore: bump version to 0.6.0 by @srperens in #602

Full Changelog: v0.5.1...v0.6.0

v0.5.1

Choose a tag to compare

@srperens srperens released this 13 May 09:31
d13af21

What's Changed

  • fix(audio): bump default mute anti-click ramp 10ms -> 30ms by @srperens in #568
  • fix(videoenc): replace "auto" profile with "none" default and expand codec profile enum by @srperens in #569

Full Changelog: v0.5.0...v0.5.1

v0.5.0

Choose a tag to compare

@srperens srperens released this 12 May 14:12
d9ecdf4

What's Changed

  • docs: chrony NTP sync quality notes + generic [CLIENT] log tag by @srperens in #533
  • fix(vision-mixer): use gpu-aware videoconvert in CPU pipeline by @srperens in #534
  • fix(buffer-age): show external pad label instead of internal "sink" by @srperens in #535
  • fix(nvidia-setup): cgroupfs + dev-char workarounds for NVML cgroup-reload bug by @srperens in #536
  • fix(audio-mixer): use UInt type for channel/aux/group count properties by @srperens in #537
  • fix(toolbar): move Debug Graph button next to Save by @srperens in #538
  • feat(audio-mixer): smooth volume/mute via GstController (anti-zipper, anti-click) by @srperens in #539
  • ingest prep: SDI/EFP fixes + decklink probe tooling by @srperens in #541
  • feat(audio-mixer): honor ramp_ms on mute toggles, with cancel-guard by @srperens in #540
  • setup/ntp: add chrony install script and runbook by @srperens in #547
  • vision-mixer: default gl_download to false by @srperens in #548
  • chore(deps): bump rustls from 0.23.39 to 0.23.40 by @dependabot[bot] in #543
  • chore(deps): bump tokio from 1.52.1 to 1.52.2 by @dependabot[bot] in #544
  • chore(deps): bump egui from 0.34.1 to 0.34.2 by @dependabot[bot] in #545
  • chore(deps): bump utoipa from 5.4.0 to 5.5.0 by @dependabot[bot] in #542
  • refactor(decklink): merge per-media blocks into Input/Output by @srperens in #546
  • ci: cache and verify Zig tarball, harden against truncated downloads by @srperens in #550
  • fix(vision-mixer): enforce framerate on PGM/MV outputs in GL passthrough by @srperens in #549
  • refactor(srt): unify property order, expose resilience knobs on inputs, share defaults by @srperens in #553
  • Patched decklink plugin with synchronized capture group support by @srperens in #554
  • feat(time-offset): add Time Offset block for live PTS shifting by @srperens in #555
  • feat(whep): multi-audio + multi-video on WHEP Output; replace mode with track counts by @srperens in #556
  • fix(videoenc): vp9enc bitrate unit + realtime knobs by @srperens in #562
  • chore(deps): bump gstreamer-app from 0.25.0 to 0.25.2 by @dependabot[bot] in #557
  • chore(deps): bump gst-plugin-audiofx from 0.15.0 to 0.15.2 by @dependabot[bot] in #558
  • chore(deps): bump gst-plugin-inter from 0.15.0 to 0.15.2 by @dependabot[bot] in #560
  • chore(deps): bump tower-http from 0.6.8 to 0.6.10 by @dependabot[bot] in #561
  • chore(deps): bump sysinfo from 0.38.4 to 0.39.1 by @dependabot[bot] in #559
  • feat: Local Input block — cross-platform USB/built-in capture with device picker by @srperens in #563
  • feat(srt): add SRT statistics for inputs and outputs by @srperens in #564
  • fix(time-offset): surface offset_ms on property read path by @srperens in #565
  • fix(whep): align encoder profile and SDP fmtp with WebRTC decoder expectations by @srperens in #566
  • chore: bump version to 0.5.0 by @srperens in #567

Full Changelog: v0.4.12...v0.5.0

Patched GStreamer plugins v1.0 (gst 1.22.12)

Choose a tag to compare

@srperens srperens released this 08 May 10:38
6606142

First release of patched GStreamer plugins for strom.

Contents

  • libgstdecklink-linux-{amd64,arm64}.so — patched decklink plugin exposing a capture-group int property on decklinkvideosrc. Lets multiple inputs on the same physical card share a synchronized capture group, so their captured frames have a common time origin and audio/video are sample-aligned across SDI ports.
  • gstreamer-rev-linux-{amd64,arm64}.txt — exact upstream GStreamer commit the plugin was built from.

Build target

  • GStreamer source: 1.22.12
  • ABI: forward-compatible with GStreamer 1.22, 1.24, 1.26+.
  • BMD synced capture group flags: bmdVideoInputSynchronizeToCaptureGroup + bmdDeckLinkConfigCaptureGroup.

Reproducing

tools/patched-gstreamer-plugins/ in this repo holds the Dockerfile, build script, and patch source. Run ./build.sh from that directory to rebuild from the same Debian bookworm base.

Known driver behaviour

BMD's StopStreams() on a synced capture input blocks ~12 s before returning (reproducible in BMD's own SynchronizedCapture SDK example; see forum thread 190441). The patch accepts this wait to keep the documented teardown order intact — bypassing StopStreams causes not-negotiated errors on subsequent pipeline starts.