Skip to main content

Crate alhazen_core

Crate alhazen_core 

Source
Expand description

Video decoding pipeline with pluggable backends. No UI dependency.

Re-exports§

pub use demux::Metadata;
pub use demux::Picture;
pub use ffmpeg::FfmpegConfig;
pub use frame::VideoFrame;
pub use source::Source;

Modules§

audio
Audio output, the audio-driven clock, resampling and channel mixing.
backend
Backend registry: which demuxers/decoders exist, and in which order to try them.
clock
Presentation clocks.
convert
YUV -> BGRA conversion (SIMD via the yuv crate, rows split across a rayon pool).
decode
Packets -> decoded pictures.
demux
Containers -> packets.
ffmpeg
The ffmpeg-cli backend: decoding through the user’s own ffmpeg program.
frame
Displayable frames and the bounded queue between decoder and renderer.
hls
HTTP Live Streaming: playlists, segment fetching, and a demuxer that plays them.
hw
What platform (hardware) decoders exist, and which streams they take: rules shared by the Media Foundation (Windows) and NVDEC (Linux) backends.
mf
The Media Foundation backend: Windows’ own decoders (GPU-accelerated where the hardware supports the codec; patent licensing covered by Windows) behind our demuxers.
nal
H.264/HEVC packaging: length-prefixed NAL units (MP4 avcC/hvcC, Matroska) to Annex B start-code streams, as hardware decoders such as Media Foundation’s expect.
nvdec
The NVDEC backend: NVIDIA’s GPU decoders on Linux, behind our demuxers. Loaded at runtime from the driver’s libcuda.so.1 and libnvcuvid.so.1; without them the backend is absent.
source
Byte-level media inputs.

Structs§

Player
PlayerConfig
PlayerStats
Diagnostics for a playing Player.

Enums§

Error
Every error alhazen-core can produce.
PlayerEvent
PlayerState

Functions§

shared_thread_pool
The process-wide conversion pool shared by every player that does not supply its own.

Type Aliases§

Result