|
| | operator bool () const noexcept |
| | true if open, not failed and not at EOF.
|
| |
|
| | Demuxer (std::shared_ptr< StormByte::Logger::Log > log) noexcept |
| | Demuxer.
|
| |
| | Demuxer (const Demuxer &other)=delete |
| | Copy constructor.
|
| |
| | Demuxer (Demuxer &&other) noexcept=delete |
| | Move constructor.
|
| |
| | ~Demuxer () noexcept override |
| | Destructor.
|
| |
| Demuxer & | operator= (const Demuxer &other)=delete |
| | Copy assignment.
|
| |
| Demuxer & | operator= (Demuxer &&other) noexcept=delete |
| | Move assignment.
|
| |
|
| bool | Eof () const noexcept |
| | Whether the last read hit EOF.
|
| |
| std::optional< Property::Duration > | Position () const noexcept |
| | Presentation time of the last emitted packet.
|
| |
| | Step (const Step &other)=delete |
| |
| | Step (Step &&other) noexcept=delete |
| |
| virtual | ~Step () noexcept |
| | Destructor.
|
| |
| Step & | operator= (const Step &other)=delete |
| |
| Step & | operator= (Step &&other) noexcept=delete |
| |
| std::condition_variable & | Wake () noexcept |
| | Consumer condition variable.
|
| |
| const std::shared_ptr< class Plan > & | Plan () const noexcept |
| | Bound job intention, if any.
|
| |
| const Kinds & | Receives () const noexcept |
| | Kinds this step consumes.
|
| |
| const Kinds & | Produces () const noexcept |
| | Kinds this step emits.
|
| |
| State | Status () const noexcept |
| | Current lifecycle value.
|
| |
| virtual bool | Ready () const noexcept |
| | Whether this step can take work.
|
| |
| void | Stop () noexcept |
| | Asks the worker to leave and closes all hoppers.
|
| |
| virtual std::size_t | InputCeiling () const noexcept |
| | Ceiling of this step's input hopper.
|
| |
| bool | Failed () const noexcept |
| | Whether this step has failed.
|
| |
| const std::optional< std::string > & | Error () const noexcept |
| | Failure text.
|
| |
| void | Fail (std::string reason) noexcept |
| | Marks Failed, closes all hoppers and wakes the worker.
|
| |
|
| Backend::Pipeline::Pipe & | pipe () noexcept |
| | In / out hoppers of this stage.
|
| |
| const Backend::Pipeline::Pipe & | pipe () const noexcept |
| | In / out hoppers of this stage.
|
| |
| | Step (std::shared_ptr< StormByte::Logger::Log > log, enum Producer name, Kinds receives, Kinds produces) noexcept |
| | Step in State::Created.
|
| |
| void | Emit (Item::PointerType item) noexcept |
| | Write item to the Pipe (item >> pipe).
|
| |
| Item::PointerType | CloneItem (const Item &item) const noexcept |
| | Deep-copies item through Item::Clone.
|
| |
| void | Wait () noexcept |
| | Sleeps on Wake until hopper Ready, Failed or Stopping.
|
| |
| void | Launch () noexcept |
| | Starts the pumper: Setup, Ready, Pump.
|
| |
| void | Halt () noexcept |
| | Stop and join the pumper.
|
| |
| bool | Stopping () const noexcept |
| | Worker must return (Stop, Halt or Fail).
|
| |
| void | RecordWork (std::int64_t microseconds) noexcept |
| | Adds one Process duration to the step summary.
|
| |
| std::int64_t | LastWork () const noexcept |
| | Duration of the last timed Process, or 0.
|
| |
| void | DumpWork () noexcept |
| | Writes min/max Process time at Debug.
|
| |
| Backend::Pipeline::Host & | Face () noexcept |
| | Owner surface for the Pumper and Worker.
|
| |
| void | Mount (std::unique_ptr< Backend::Pipeline::Pumper > pumper, std::unique_ptr< Backend::Pipeline::Worker > worker) noexcept |
| | Takes ownership of pumper and binds worker.
|
| |
| virtual std::string | Label () const noexcept |
| | Display name of this step.
|
| |
| std::shared_ptr< StormByte::Logger::Log > | m_log |
| |
| enum Producer | m_name |
| | UseLog leaf / default Label.
|
| |
| Kinds | m_receives |
| | Receives.
|
| |
| Kinds | m_produces |
| | Produces.
|
| |
Reads interleaved packets from a File origin.
Reads interleaved compressed packets from the Plan origin.
Only tracks listed in the bound Plan enter the tube. An origin stream omitted from Plan::add is never pushed.
Notice: origin path at Setup, eof once. Debug: bind to a decoder and Process min/max at source EoF. LowLevel unit lines always; the shared logger throttles. Each Read+Emit is timed by the Source pumper.
Wrap assigns the next Packet::Serial for that origin track and Part zero. That id is pipe lineage, not an FFmpeg frame count.