Referencia Zigtransmux

transmux/cmaf_check.zig

Declaraciones públicas de transmux/cmaf_check.zig (transmux).

ImplementadoSin versión del tren todavía· generada desde apps/docs/generated/zig/transmux.json

Página generada desde native/zig/transmux/transmux.zig. No se edita a mano: bun run docs:gen la regenera y bun run docs:check falla si difiere.

Structural reader/validator of CMAF output (init segment + fragments), styx:parser (dec-0117 §6: S3/S4 apply — it reads muxer output as a player would, bytes it must not trust). used to compare what the two engines produce at fragment level (tfdt, trun entries, per-track payload hash) and to reject structurally invalid output. It parses what a player parses; it does not trust the muxer's own bookkeeping.

Checked (ISO/IEC 14496-12 + ISO/IEC 23000-19):

  • init: ftyp first, then moov with mvex/trex for every trak and no samples in the trak tables.
  • fragment: moof (mfhd, trafs with tfhd default-base-is-moof, tfdt, trun with data_offset) then one mdat; every sample range inside the mdat payload, ranges not overlapping and covering it.

cmaf_check.Error

const · línea 17

pub const Error = error{ Invalid, OutOfMemory }

Sin ///.

cmaf_check.Defaults

type · línea 19

pub const Defaults = struct

Sin ///.

cmaf_check.InitInfo

type · línea 21

pub const InitInfo = struct

Sin ///.

cmaf_check.Sample

type · línea 39

pub const Sample = struct

Sin ///.

cmaf_check.Sample.isSync

fn · línea 45

pub fn isSync(self: Sample) bool

Sin ///.

cmaf_check.TrackFragment

type · línea 50

pub const TrackFragment = struct

Sin ///.

cmaf_check.Fragment

type · línea 59

pub const Fragment = struct

Sin ///.

cmaf_check.Fragment.deinit

fn · línea 63

pub fn deinit(self: *Fragment, gpa: std.mem.Allocator) void

Sin ///.

cmaf_check.checkInit

fn · línea 118

pub fn checkInit(init: []const u8) Error!InitInfo

Sin ///.

cmaf_check.checkFragment

fn · línea 173

pub fn checkFragment(gpa: std.mem.Allocator, frag: []const u8, init: *const InitInfo) Error!Fragment

Parses and validates one moof+mdat, resolving sample fields through trun -> tfhd defaults -> trex defaults (from init). The caller owns the result.

cmaf_check.Verdict

type · línea 274

pub const Verdict = enum

How two engines' versions of the same fragment compare.

cmaf_check.Classified

type · línea 292

pub const Classified = struct

Sin ///.

cmaf_check.classify

fn · línea 294

pub fn classify(a: *const Fragment, b: *const Fragment) Classified

Sin ///.