Rindle.Profile.Presets.MuxWeb (Rindle v0.1.5)

Copy Markdown View Source

Mux streaming preset — the canonical AV web preset PLUS streaming opt-in.

Inherits the web_720p + poster variant set verbatim from Web and adds a locked :streaming delivery block (provider Mux, signed playback, server-push ingest, web_720p source).

Adopters who want AV-only without streaming should keep using Web. There is no __using__/1 opt-out for the streaming block — MuxWeb is streaming-on by definition.

The preset compiles even when the optional :mux dep is absent: the DSL stores only the provider-module atom, and runtime resolution happens via Code.ensure_loaded? in Rindle.Delivery.streaming_url/3.

Adopter-supplied :delivery keys other than :streaming (e.g. :public, :signed_url_ttl_seconds) are preserved; the locked streaming block always wins on the :streaming key.

Example

defmodule MyApp.Streaming do
  use Rindle.Profile.Presets.MuxWeb,
    storage: Rindle.Storage.S3,
    allow_mime: ["video/mp4", "video/quicktime", "video/webm"],
    max_bytes: 524_288_000
end

See guides/streaming_providers.md for full setup (Mux dashboard, webhook plug, doctor smoke, secret rotation).

Summary

Types

option()

@type option() :: Rindle.Profile.Presets.Web.option()