Modules
Phoenix/Ecto-native media lifecycle library.
Domain vocabulary for processing capabilities.
FFprobe metadata extractor shim.
Container-metadata sanitization for untrusted FFprobe output.
MuonTrap execution wrapper + 4-cap enforcement.
Behaviour contract for metadata analyzers.
Behaviour contract for delivery authorization hooks.
Aggregates Rindle runtime capability surfaces for ops/doctor consumers.
Delivery policy and URL resolution helpers.
Normalizes caller-supplied download disposition intent.
Dev-parity-only local playback Plug for Rindle.Storage.Local.
Raw-body cache for Rindle.Delivery.WebhookPlug.
Mountable provider-aware Plug for streaming-provider webhooks.
Ecto schema for a media asset.
Ecto schema linking a Rindle.Domain.MediaAsset to an owning entity.
Ecto schema recording the outcome of a single processing or maintenance operation against a media asset or variant.
Ecto schema for a provider-side asset row (Phase 33 — media_provider_assets).
Ecto schema for a direct upload session.
Ecto schema for a derived variant of a media asset.
Exception raised by bang variants on the Rindle facade when an
operation fails for a non-changeset reason.
Phoenix template helpers for responsive media markup.
LiveView integration helpers for direct-to-storage uploads via Rindle.
Scans a configured temporary directory and cleans up files older than a threshold. Prevents storage bloat from orphaned AV temporary files.
Dedicated recursive sweeper for Rindle.tmp/ AV run directories.
Behaviour contract for content-analysis probes.
FFprobe-backed probe for video and audio. Wraps Rindle.AV.Ffprobe.probe/1
and reshapes raw FFprobe JSON into Rindle.Probe.result().
Image probe adapter using the Image library
(powered by libvips/Vix). Symmetric with Rindle.Processor.Image.
Behaviour contract for media processors that generate variants.
Public AV processor boundary for preset-led video, audio, and waveform recipes.
Post-condition verification for generated AV outputs.
Runtime admission checks for AV processing.
FFmpeg processor adapter using the Rindle.Processor behaviour and integrating with the MuonTrap subprocess wrapper.
Image processor adapter using the Image library (powered by libvips/Vix).
Profile DSL used to declare upload policy and variant recipes.
Mux streaming preset — the canonical AV web preset PLUS streaming opt-in.
Stock AV preset helpers for the canonical web onboarding story.
Behaviour contract for security scanning before promotion.
Argv sanitization and format validation.
Behaviour contract for all storage adapters used by Rindle.
Google Cloud Storage adapter using goth ~> 1.4 (auth) + finch ~> 0.21 (HTTP) +
gcs_signed_url ~> 0.4.6 (V4 signing).
Local filesystem storage adapter.
S3-compatible storage adapter powered by ExAws.
Behaviour contract for streaming providers (Phase 33 — promoted from v1.4 reserved shim).
Mux REST adapter implementing Rindle.Streaming.Provider.
Manages direct-to-storage upload sessions.
Oban cron worker for transitioning incomplete upload sessions to expired.
Oban cron worker for removing expired upload sessions and their staged objects.
Oban worker driving idempotent ingest of streaming-provider webhooks.
Push a Rindle-produced AV variant to Mux from server context.
Oban cron worker that fans out per-row sync jobs for media_provider_assets
rows in (processing, uploading) older than provider_polling_floor_seconds.
Per-row defensive sync for media_provider_assets rows that may have
missed a webhook. Called by Rindle.Workers.MuxSyncCoordinator (Phase 34
ships the cron coordinator; Phase 35 wires up webhook-driven sync).
Mix Tasks
Validates that the host environment has all necessary system dependencies installed.
Reports bounded runtime diagnostics for Rindle lifecycle work.
Sweeps orphaned AV temp run directories under Rindle.tmp/.
Transitions timed-out upload sessions through the abort half of Rindle's maintenance lane.
Reruns the configured analyzer for assets in ready, available, or
degraded states and persists the updated metadata to the database.
Removes expired upload sessions and the staged objects they reference.
Enqueues ProcessVariant Oban jobs for broad stale/missing variant
regeneration, optionally filtered by profile module or variant name.
Walks variant records that have a storage_key and HEAD-checks the storage
object via the profile's configured storage adapter.