Expand description
Real-time playback types for ff-preview.
This module exposes the primary public API for single-file video/audio
playback. All unsafe FFmpeg calls are isolated in playback_inner.
| Sub-module | Contents |
|---|---|
clock | PlaybackClock, internal MasterClock |
sink | FrameSink trait, RgbaFrame, RgbaSink |
decode_buffer | DecodeBuffer, FrameResult, SeekEvent |
player | PreviewPlayer |
async_player | [AsyncPreviewPlayer] (tokio feature) |
playback_inner | Unsafe FFmpeg calls (SwsRgbaConverter, PCM extraction) |
Structs§
- Decode
Buffer - Pre-decodes frames from a video file into a ring buffer on a background thread.
- Decode
Buffer Builder - Builder for
DecodeBuffer. - Playback
Clock - A monotonic clock that tracks elapsed playback time.
- Preview
Player - Drives real-time playback of a single media file.
- Rgba
Frame - A decoded video frame as contiguous RGBA bytes.
- Rgba
Sink - Reference
FrameSinkimplementation that stores the latest frame in a sharedArc<Mutex<Option<RgbaFrame>>>.
Enums§
- Frame
Result - The result of a
DecodeBuffer::pop_framecall. - Seek
Event - An event emitted by
DecodeBufferafter aseek_asynccompletes.
Traits§
- Frame
Sink - A sink that receives decoded video frames as contiguous RGBA bytes.