Skip to main content

Crate moq_mux

Crate moq_mux 

Source
Expand description

Media muxers and demuxers for MoQ.

Sits between moq_net (pub/sub transport) and hang (media catalog). Takes containerized media in, produces a moq broadcast, and the other way around.

  • container holds one submodule per container format. Each describes how media frames are packaged on the wire, and some also handle the corresponding file or stream format.
  • codec holds one submodule per codec. Each parses the codec’s configuration record and provides an importer that publishes a raw bitstream to a broadcast.
  • catalog publishes and subscribes to the broadcast catalog, the JSON manifest listing every track and how to decode it.
  • clock holds the broadcast Clock and the translators that move a source’s own timestamps onto it.
  • import is the front door for callers who only have a format string. It picks the right concrete importer for you.
  • select picks which renditions of a broadcast to keep, on either the import or the consume side.
  • Pacer maps each exported frame’s media timestamp to the wall-clock instant it should be delivered at, for byte streams whose spacing is part of the format (MPEG-TS).
  • rate turns bandwidth grants into stable media bitrate targets shared by audio, video, and transcode senders.
  • timeline publishes the broadcast’s segment index: one record per aligned segment, mapping a span of content time to the group ranges that carry it on each track, so consumers can seek or build HLS/DASH playlists without downloading media.

Re-exports§

pub use clock::Clock;
pub use clock::SourceMap;

Modules§

binary
Binary track publish/subscribe.
catalog
Catalog publish/subscribe.
clock
The broadcast’s shared clock: one monotonic epoch plus its fixed wall mapping.
codec
Codecs.
container
Container formats.
import
Import media into a moq broadcast.
json
JSON track publish/subscribe.
rate
Shared rate control for media senders.
select
Track selection.
timeline
Timeline publish/subscribe: the broadcast’s segment index HLS/DASH export is built from.

Structs§

Binding
A held broadcast or the retained result of one eagerly issued broadcast request.
Pacer
Maps each export frame’s media timestamp to the wall-clock instant it should be delivered at, re-anchored to the live edge.
Source
The subscription side of an export: an origin and the path of the broadcast whose catalog drives it.

Enums§

Error
Errors from moq-mux operations.

Type Aliases§

Result
A Result type alias for moq-mux operations.