Referencia Zigmedia-core: motor de medios

media-core/container/codec_config.zig

Declaraciones públicas de media-core/container/codec_config.zig (media-core: motor de medios).

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

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

Decodificadores de registros de configuración de códec compartidos por styx:parser (dec-0117 §6: S3/S4 apply — untrusted media bytes). MP4 y Matroska: avcC (+SPS/VUI), hvcC, av1C (+sequence header OBU), vpcC / CodecPrivate VP9, cabecera de frame VP9, AudioSpecificConfig, dac3/dec3, dOps->OpusHead y dfLa/fLaC->STREAMINFO.

Cada función rellena campos de StreamInfo que el blob declara; lo que el blob no trae se deja en null (no se inventa).

codec_config.applyAvcC

fn · línea 22

pub fn applyAvcC(s: *StreamInfo, avcc: []const u8) Error!void

Sin ///.

codec_config.applyH264Sps

fn · línea 56

pub fn applyH264Sps(s: *StreamInfo, sps_escaped: []const u8) Error!void

Sin ///.

codec_config.applyHvcC

fn · línea 158

pub fn applyHvcC(s: *StreamInfo, hvcc: []const u8) Error!void

Sin ///.

codec_config.applyAv1C

fn · línea 173

pub fn applyAv1C(s: *StreamInfo, av1c: []const u8) Error!void

Sin ///.

codec_config.applyVpcC

fn · línea 307

pub fn applyVpcC(s: *StreamInfo, vpcc: []const u8) Error!void

vpcC (VP Codec Configuration Box, versión 1).

codec_config.applyVp9CodecPrivate

fn · línea 327

pub fn applyVp9CodecPrivate(s: *StreamInfo, cp: []const u8) Error!void

CodecPrivate de VP9 en Matroska/WebM: lista ID(1)/len(1)/valor.

codec_config.applyVp9FrameHeader

fn · línea 352

pub fn applyVp9FrameHeader(s: *StreamInfo, frame: []const u8) Error!void

Cabecera no comprimida de un keyframe VP9 (lo que ffprobe saca del primer frame cuando el contenedor no trae CodecPrivate).

codec_config.applyTheoraIdent

fn · línea 402

pub fn applyTheoraIdent(s: *StreamInfo, ident: []const u8) Error!void

Cabecera de identificación Theora (spec Theora §6.2).

codec_config.applyAudioSpecificConfig

fn · línea 428

pub fn applyAudioSpecificConfig(s: *StreamInfo, asc: []const u8) Error!void

Sin ///.

codec_config.applyDac3

fn · línea 456

pub fn applyDac3(s: *StreamInfo, dac3: []const u8) Error!void

Sin ///.

codec_config.applyDec3

fn · línea 467

pub fn applyDec3(s: *StreamInfo, dec3: []const u8) Error!void

Sin ///.

codec_config.opusHeadFromDops

fn · línea 483

pub fn opusHeadFromDops(arena: std.mem.Allocator, s: *StreamInfo, dops: []const u8) Error![]const u8

Convierte dOps (ISOBMFF, big-endian) a OpusHead (RFC 7845), que es lo que libav y Matroska usan como extradata.

codec_config.applyOpusHead

fn · línea 507

pub fn applyOpusHead(s: *StreamInfo, head: []const u8) Error!void

Sin ///.

codec_config.flacStreamInfo

fn · línea 517

pub fn flacStreamInfo(s: *StreamInfo, blocks: []const u8) Error![]const u8

Busca el bloque STREAMINFO en una secuencia de metadata blocks FLAC (payload de dfLa tras el FullBox, o CodecPrivate tras "fLaC").