Declaraciones públicas de media-core/container/isobmff.zig (media-core: motor de medios).
apps/docs/generated/zig/media-engine.jsonPágina generada desde
native/zig/media-core/media_engine.zig. No se edita a mano:bun run docs:genla regenera ybun run docs:checkfalla si difiere.
Facts de ISOBMFF (MP4 / MOV / fMP4) leyendo sólo cabeceras. styx:parser (dec-0117 §6: S3/S4 apply — untrusted media bytes).
Recorrido: cajas de nivel superior por su tamaño declarado (saltando
mdat sin leerla) hasta encontrar moov; moov se lee entero de una vez
y se parsea en memoria. Si moov trae mvex (fMP4), el índice sale de un
sidx que cubra el resto del fichero o, si no lo hay, de recorrer las
cabeceras moof, sin tocar los mdat intermedios.
Memoria del índice: cada pista acumula sus keyframes (los del stbl y
después los del sidx o los de los moof) en un solo array del allocator
del probe, sin concatenar. Cada crecimiento se reserva antes en el
presupuesto y su holgura no pasa de lo que el presupuesto aún admite. Al
terminar, el array se recorta a su tamaño exacto y pasa al ContainerInfo.
isobmff.Boxtype · línea 45
pub const Box = structSin ///.
isobmff.Box.isfn · línea 49
pub fn is(self: Box, comptime k: []const u8) boolSin ///.
isobmff.BoxItertype · línea 55
pub const BoxIter = structIterador de cajas hijas sobre un slice en memoria.
isobmff.BoxIter.nextfn · línea 59
pub fn next(self: *BoxIter) Error!?BoxSin ///.
isobmff.TrackDefaultstype · línea 84
pub const TrackDefaults = structSin ///.
isobmff.Layouttype · línea 94
pub const Layout = structWhat the demuxer needs beyond the facts: per-track sample tables and
timing. Slices point into a copy of the moov payload kept in the
ContainerInfo arena.
isobmff.TrackLayouttype · línea 102
pub const TrackLayout = structSin ///.
isobmff.parsefn · línea 166
pub fn parse(gpa: std.mem.Allocator, arena: std.mem.Allocator, rr: *RangeReader, budget: *Budget, info: *facts.ContainerInfo, layout: ?*Layout) Error!voidgpa es el allocator del probe (dueño de los índices de keyframes);
arena, la del ContainerInfo (todo lo demás).