Declaraciones públicas de media-core/container/matroska.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 Matroska / WebM leyendo sólo cabeceras. styx:parser (dec-0117 §6: S3/S4 apply — untrusted media bytes).
Recorrido: cabecera EBML -> Segment -> elementos de nivel 1 en orden hasta el primer Cluster (SeekHead, Info, Tracks y, si va delante, Cues). Lo que esté detrás de los Clusters (normalmente Cues) se alcanza con la posición que declara el SeekHead: una lectura directa, sin escanear el payload. VP9 sin CodecPrivate necesita además la cabecera del primer frame, que se lee del primer Cluster con una lectura corta.
matroska.idtype · línea 23
pub const id = structSin ///.
matroska.id.ebmlconst · línea 24
pub const ebml: u32 = 0x1A45DFA3Sin ///.
matroska.id.doc_typeconst · línea 25
pub const doc_type: u32 = 0x4282Sin ///.
matroska.id.segmentconst · línea 26
pub const segment: u32 = 0x18538067Sin ///.
matroska.id.seek_headconst · línea 27
pub const seek_head: u32 = 0x114D9B74Sin ///.
matroska.id.seekconst · línea 28
pub const seek: u32 = 0x4DBBSin ///.
matroska.id.seek_idconst · línea 29
pub const seek_id: u32 = 0x53ABSin ///.
matroska.id.seek_positionconst · línea 30
pub const seek_position: u32 = 0x53ACSin ///.
matroska.id.infoconst · línea 31
pub const info: u32 = 0x1549A966Sin ///.
matroska.id.timestamp_scaleconst · línea 32
pub const timestamp_scale: u32 = 0x2AD7B1Sin ///.
matroska.id.durationconst · línea 33
pub const duration: u32 = 0x4489Sin ///.
matroska.id.tracksconst · línea 34
pub const tracks: u32 = 0x1654AE6BSin ///.
matroska.id.track_entryconst · línea 35
pub const track_entry: u32 = 0xAESin ///.
matroska.id.track_numberconst · línea 36
pub const track_number: u32 = 0xD7Sin ///.
matroska.id.track_uidconst · línea 37
pub const track_uid: u32 = 0x73C5Sin ///.
matroska.id.track_typeconst · línea 38
pub const track_type: u32 = 0x83Sin ///.
matroska.id.flag_defaultconst · línea 39
pub const flag_default: u32 = 0x88Sin ///.
matroska.id.flag_forcedconst · línea 40
pub const flag_forced: u32 = 0x55AASin ///.
matroska.id.default_durationconst · línea 41
pub const default_duration: u32 = 0x23E383Sin ///.
matroska.id.nameconst · línea 42
pub const name: u32 = 0x536ESin ///.
matroska.id.languageconst · línea 43
pub const language: u32 = 0x22B59CSin ///.
matroska.id.language_bcp47const · línea 44
pub const language_bcp47: u32 = 0x22B59DSin ///.
matroska.id.codec_idconst · línea 45
pub const codec_id: u32 = 0x86Sin ///.
matroska.id.codec_privateconst · línea 46
pub const codec_private: u32 = 0x63A2Sin ///.
matroska.id.videoconst · línea 47
pub const video: u32 = 0xE0Sin ///.
matroska.id.pixel_widthconst · línea 48
pub const pixel_width: u32 = 0xB0Sin ///.
matroska.id.pixel_heightconst · línea 49
pub const pixel_height: u32 = 0xBASin ///.
matroska.id.display_widthconst · línea 50
pub const display_width: u32 = 0x54B0Sin ///.
matroska.id.display_heightconst · línea 51
pub const display_height: u32 = 0x54BASin ///.
matroska.id.display_unitconst · línea 52
pub const display_unit: u32 = 0x54B2Sin ///.
matroska.id.colourconst · línea 53
pub const colour: u32 = 0x55B0Sin ///.
matroska.id.matrixconst · línea 54
pub const matrix: u32 = 0x55B1Sin ///.
matroska.id.bits_per_channelconst · línea 55
pub const bits_per_channel: u32 = 0x55B2Sin ///.
matroska.id.chroma_sub_horzconst · línea 56
pub const chroma_sub_horz: u32 = 0x55B3Sin ///.
matroska.id.chroma_sub_vertconst · línea 57
pub const chroma_sub_vert: u32 = 0x55B4Sin ///.
matroska.id.rangeconst · línea 58
pub const range: u32 = 0x55B9Sin ///.
matroska.id.transferconst · línea 59
pub const transfer: u32 = 0x55BASin ///.
matroska.id.primariesconst · línea 60
pub const primaries: u32 = 0x55BBSin ///.
matroska.id.max_cllconst · línea 61
pub const max_cll: u32 = 0x55BCSin ///.
matroska.id.max_fallconst · línea 62
pub const max_fall: u32 = 0x55BDSin ///.
matroska.id.masteringconst · línea 63
pub const mastering: u32 = 0x55D0Sin ///.
matroska.id.audioconst · línea 64
pub const audio: u32 = 0xE1Sin ///.
matroska.id.sampling_frequencyconst · línea 65
pub const sampling_frequency: u32 = 0xB5Sin ///.
matroska.id.channelsconst · línea 66
pub const channels: u32 = 0x9FSin ///.
matroska.id.bit_depthconst · línea 67
pub const bit_depth: u32 = 0x6264Sin ///.
matroska.id.block_addition_mappingconst · línea 68
pub const block_addition_mapping: u32 = 0x41E4Sin ///.
matroska.id.block_add_id_typeconst · línea 69
pub const block_add_id_type: u32 = 0x41E7Sin ///.
matroska.id.cuesconst · línea 70
pub const cues: u32 = 0x1C53BB6BSin ///.
matroska.id.cue_pointconst · línea 71
pub const cue_point: u32 = 0xBBSin ///.
matroska.id.cue_timeconst · línea 72
pub const cue_time: u32 = 0xB3Sin ///.
matroska.id.cue_track_positionsconst · línea 73
pub const cue_track_positions: u32 = 0xB7Sin ///.
matroska.id.cue_trackconst · línea 74
pub const cue_track: u32 = 0xF7Sin ///.
matroska.id.cue_cluster_positionconst · línea 75
pub const cue_cluster_position: u32 = 0xF1Sin ///.
matroska.id.clusterconst · línea 76
pub const cluster: u32 = 0x1F43B675Sin ///.
matroska.id.tagsconst · línea 77
pub const tags: u32 = 0x1254C367Sin ///.
matroska.id.chaptersconst · línea 78
pub const chapters: u32 = 0x1043A770Sin ///.
matroska.id.attachmentsconst · línea 79
pub const attachments: u32 = 0x1941A469Sin ///.
matroska.id.void_elemconst · línea 80
pub const void_elem: u32 = 0xECSin ///.
matroska.id.crc32const · línea 81
pub const crc32: u32 = 0xBFSin ///.
matroska.id.simple_blockconst · línea 82
pub const simple_block: u32 = 0xA3Sin ///.
matroska.id.block_groupconst · línea 83
pub const block_group: u32 = 0xA0Sin ///.
matroska.id.blockconst · línea 84
pub const block: u32 = 0xA1Sin ///.
matroska.id.content_encodingsconst · línea 85
pub const content_encodings: u32 = 0x6D80Sin ///.
matroska.id.content_encodingconst · línea 86
pub const content_encoding: u32 = 0x6240Sin ///.
matroska.id.content_encoding_scopeconst · línea 87
pub const content_encoding_scope: u32 = 0x5032Sin ///.
matroska.id.content_encoding_typeconst · línea 88
pub const content_encoding_type: u32 = 0x5033Sin ///.
matroska.id.content_compressionconst · línea 89
pub const content_compression: u32 = 0x5034Sin ///.
matroska.id.content_comp_algoconst · línea 90
pub const content_comp_algo: u32 = 0x4254Sin ///.
matroska.id.content_comp_settingsconst · línea 91
pub const content_comp_settings: u32 = 0x4255Sin ///.
matroska.id.cluster_timestampconst · línea 92
pub const cluster_timestamp: u32 = 0xE7Sin ///.
matroska.id.codec_delayconst · línea 93
pub const codec_delay: u32 = 0x56AASin ///.
matroska.id.block_durationconst · línea 94
pub const block_duration: u32 = 0x9BSin ///.
matroska.id.reference_blockconst · línea 95
pub const reference_block: u32 = 0xFBSin ///.
matroska.Layouttype · línea 101
pub const Layout = structWhere the demuxer finds what the facts do not carry: track numbers, the
timestamp scale, header stripping and the segment/cluster positions.
Everything lives in the ContainerInfo arena.
matroska.TrackLayouttype · línea 111
pub const TrackLayout = structSin ///.
matroska.unknown_sizeconst · línea 125
pub const unknown_size = std.math.maxInt(u64)Sin ///.
matroska.Elemtype · línea 152
pub const Elem = structSin ///.
matroska.readIdfn · línea 158
pub fn readId(c: *BoundedReader) Error!u32Lee un ID EBML (marcador incluido). Longitud 1..4.
matroska.readSizefn · línea 168
pub fn readSize(c: *BoundedReader) Error!u64Lee un tamaño EBML (vint 1..8). Todo unos = tamaño desconocido.
matroska.ElemItertype · línea 186
pub const ElemIter = structIterador de elementos hijos en memoria. Un hijo de tamaño desconocido se extiende hasta el final del padre.
matroska.ElemIter.nextfn · línea 190
pub fn next(self: *ElemIter) Error!?ElemSin ///.
matroska.uintfn · línea 203
pub fn uint(data: []const u8) Error!u64Sin ///.
matroska.parsefn · línea 249
pub fn parse(gpa: std.mem.Allocator, arena: std.mem.Allocator, rr: *RangeReader, budget: *bytes.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).
matroska.isLevel1fn · línea 361
pub fn isLevel1(eid: u32) boolSin ///.