Ratatoskr-receiver/plugin/include
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Meta Vens 8bee11a866 The OBS source, and the mesh side it needs
A new source type, "CultMesh Media Stream". Its properties pull every
gamecult.media_stream_advertisement Odin holds and offer each stream's
video sources, audio sources and codecs from the advertisement, with
bitrate and latency budget; activating publishes a
gamecult.media_stream_request naming this receiver's endpoint. Nothing
in the picker comes from configuration or from Muninn.

The core grows the mesh half (catalog.rs): pull the advertisements,
publish a request, read the producer's answer, all over cultmesh-rs and
tested against an Odin-shaped RUDP catalog server on loopback. The C ABI
gains the catalog and request calls, a video relay that copies each
whole access unit to a loopback UDP port as a raw byte stream, and the
producer's presentation time on every payload.

The plugin itself owns only the OBS lifecycle. Video is drawn from a
private ffmpeg_source child reading the relay — the arrangement the
previous plugin proved in the field, minus the 2,500 lines of transport
it hand-rolled underneath. Audio is PCM straight to
obs_source_output_audio.

Built against a libobs-only build of obs-studio 32.2.2 with obs-deps
2026-07-15 under .sdk/ (git-ignored; the README says how). Installed to
the per-user OBS plugins directory. Not yet exercised with a live stream.

  cargo test -p ratatoskr-core -> 31 passed
  abi_smoke.exe ratatoskr_core.dll -> ABI SMOKE PASSED

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-10 22:23:05 +02:00
..
ratatoskr.h The OBS source, and the mesh side it needs 2026-09-10 22:23:05 +02:00