Skip to main content

zvidlib_container/
lib.rs

1//! zvidlib's containers: MP4 and WebM muxing and demuxing, container probing,
2//! codec string derivation from codec configuration records, and the decoder
3//! and encoder conformance harness built on them.
4//!
5//! This is an internal crate of [zvidlib](https://crates.io/crates/zvidlib),
6//! which re-exports its public items under the paths documented there. Depend
7//! on `zvidlib` rather than on this crate directly.
8
9pub mod codec_config;
10pub mod conformance;
11pub mod container;
12pub mod cover;
13mod ebml;
14pub mod mp4;
15pub mod mp4_demux;
16pub mod webm;
17pub mod webm_demux;
18
19#[allow(unused_imports)]
20use zvidlib_av1_syntax as av1;
21#[allow(unused_imports)]
22use zvidlib_av1_syntax::*;
23#[allow(unused_imports)]
24use zvidlib_core::*;
25#[allow(unused_imports)]
26use zvidlib_opus_syntax as opus;
27#[allow(unused_imports)]
28use zvidlib_opus_syntax::*;
29#[allow(unused_imports)]
30use zvidlib_vorbis_syntax as vorbis;
31#[allow(unused_imports)]
32use zvidlib_vorbis_syntax::*;
33
34pub use codec_config::{DerivedCodecString, derive_codec_string};
35pub use conformance::{
36    ExpectedVideoFrame, FrameDigest, VideoDecoderConformanceReport, VideoDecoderConformanceVector,
37    VideoEncoderConformanceReport, VideoEncoderConformanceVector, verify_video_decoder_conformance,
38    verify_video_encoder_conformance,
39};
40pub use container::{container_capabilities, probe_container};
41pub use cover::{COVER_THUMBNAIL_MAX_EDGE, CoverSource, DEFAULT_COVER_FRAME};
42pub use mp4::{CoverArt, CoverArtFormat};
43pub use mp4_demux::{
44    AacTrackConfig, EditMapping, Mp4Demuxer, Mp4DemuxerOptions, Mp4Sample, Mp4Track, probe_mp4,
45};
46pub use webm::WebmMuxer;
47pub use webm_demux::{
48    WebmAudioTrim, WebmCuePoint, WebmDemuxer, WebmDemuxerOptions, WebmSeekPoint, WebmSkippedTrack,
49    probe_webm,
50};