//! A headless video frame source: the context-side half of
//! [`VideoWriter`](crate::VideoWriter). It owns the ingress receiver that the
//! writer facade feeds and the filtergraph sender a decoder would normally
//! hold; `start()` hands it to a counted frame-source worker
//! (`scheduler::frame_source_task`) that turns pushed byte buffers into
//! pool-backed `AVFrame`s and forwards them to the graph's buffersrc pad.
use crateFrameBox;
use ;
use AVPixelFormat;
/// Fixed per-stream parameters of a pushed CFR video source, resolved and
/// validated by the writer builder before the context is constructed.
pub
/// One frame-push input of an [`FfmpegContext`](super::ffmpeg_context::FfmpegContext),
/// parallel to a `Demuxer` but with no `AVFormatContext` behind it. Consumed by
/// `FfmpegScheduler::start()`, which spawns the worker LAST so the entire
/// consumer chain (filter -> encoder -> mux) already exists.
pub