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
yuvcrate, rows split across a rayon pool). - decode
- Packets -> decoded pictures.
- demux
- Containers -> packets.
- ffmpeg
- The
ffmpeg-clibackend: decoding through the user’s ownffmpegprogram. - 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.1andlibnvcuvid.so.1; without them the backend is absent. - source
- Byte-level media inputs.
Structs§
- Player
- Player
Config - Player
Stats - Diagnostics for a playing
Player.
Enums§
- Error
- Every error
alhazen-corecan produce. - Player
Event - Player
State
Functions§
- shared_
thread_ pool - The process-wide conversion pool shared by every player that does not supply its own.