Something went wrong. Try again.
A sans-I/O reader and writer for Matroska and WebM in Zig.
Something went wrong. Try again.
2.0 kB · 54 lines
Zig
at main
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455// SPDX-FileCopyrightText: © 2026 Jeffrey C. Ollie <jeff@ocjtech.us>// SPDX-License-Identifier: MIT
//! Matroska and WebM for Zig, with no I/O of its own.//!//! - `Demuxer` reads a stream pushed into it and reports the header, the//! tracks, every frame, the index, chapters, tags and attachments, asking//! the caller to seek rather than seeking.//! - `Muxer` writes frames to a `std.Io.Writer`, and returns as patches what//! the start of the file could not know until the end.//! - `io` drives both from `std.Io` files and readers, for when that is//! where the bytes are.//! - `ebml` is the encoding underneath (RFC 8794): a push tokenizer, an//! iterator over elements in memory, and an element writer.//! - `schema` is every element of the specification, generated from its//! own EBML schema.//! - `info`, `tracks`, `cues`, `seek_head`, `chapters`, `tags` and//! `attachments` are the metadata, each with a parser and a writer;//! `block` is the inside of a block and its lacing; `content` undoes//! content encodings; `webm` is the WebM profile.
pub const schema = @import("schema.zig");pub const ebml = @import("ebml.zig");pub const block = @import("block.zig");pub const info = @import("info.zig");pub const tracks = @import("tracks.zig");pub const cues = @import("cues.zig");pub const seek_head = @import("seek_head.zig");pub const chapters = @import("chapters.zig");pub const tags = @import("tags.zig");pub const attachments = @import("attachments.zig");pub const content = @import("content.zig");pub const Demuxer = @import("Demuxer.zig");pub const Muxer = @import("Muxer.zig");pub const webm = @import("webm.zig");pub const io = @import("io.zig");
test { _ = schema; _ = ebml; _ = block; _ = info; _ = tracks; _ = cues; _ = seek_head; _ = chapters; _ = tags; _ = attachments; _ = content; _ = Demuxer; _ = Muxer; _ = webm; _ = io;}