Skip to main content

oxideav_core/
lib.rs

1//! Core types and registries for the oxideav framework.
2//!
3//! This crate is the dependency-light foundation: primitive types
4//! (timestamps, packets, frames, media formats) plus the registries
5//! every sibling crate registers itself into. The aggregate
6//! [`RuntimeContext`] bundles all four registries (codec / container /
7//! source / filter) into a single value that consumers pass around.
8
9pub mod bits;
10pub mod capabilities;
11pub mod error;
12pub mod execution;
13pub mod filter;
14pub mod format;
15pub mod frame;
16pub mod options;
17pub mod packet;
18pub mod picture;
19pub mod rational;
20pub mod registry;
21pub mod stream;
22pub mod subtitle;
23pub mod time;
24
25pub use capabilities::{CodecCapabilities, CodecPreferences, DEFAULT_PRIORITY};
26pub use error::{Error, Result};
27pub use execution::ExecutionContext;
28pub use filter::{FilterContext, PortParams, PortSpec, StreamFilter};
29pub use format::{MediaType, PixelFormat, SampleFormat};
30pub use frame::{AudioFrame, Frame, VideoFrame, VideoPlane};
31pub use options::{
32    parse_options, CodecOptions, CodecOptionsStruct, OptionField, OptionKind, OptionValue,
33};
34pub use packet::Packet;
35pub use picture::{AttachedPicture, PictureType};
36pub use rational::Rational;
37pub use registry::{
38    CodecImplementation, CodecInfo, CodecRegistry, ContainerProbeFn, ContainerRegistry, Decoder,
39    DecoderFactory, Demuxer, Encoder, EncoderFactory, FilterFactory, FilterRegistry, Muxer,
40    OpenDemuxerFn, OpenMuxerFn, OpenSourceFn, ProbeData, ProbeScore, ReadSeek, RuntimeContext,
41    SourceRegistry, WriteSeek, MAX_PROBE_SCORE, PROBE_SCORE_EXTENSION,
42};
43pub use stream::{
44    CodecId, CodecParameters, CodecResolver, CodecTag, Confidence, NullCodecResolver, ProbeContext,
45    ProbeFn, StreamInfo,
46};
47pub use subtitle::{CuePosition, Segment, SubtitleCue, SubtitleStyle, TextAlign};
48pub use time::{TimeBase, Timestamp};