|
| | operator bool () const noexcept |
| | true if the destination is bound and the muxer has not failed.
|
| |
| bool | Closed () const noexcept |
| | true after Finish flushed the trailer, or after Fail.
|
| |
| std::optional< Property::Duration > | Position () const noexcept |
| | Presentation time of the last packet written.
|
| |
| const Container & | Destination () const noexcept |
| | Destination container.
|
| |
| bool | Armed () const noexcept |
| | Whether every muxable Plan track has a reserved hopper.
|
| |
| bool | Ready () const noexcept override |
| | Open finished without Fail or Stop, and Armed.
|
| |
| std::size_t | InputCeiling () const noexcept override |
| | Ceiling of the muxer input hopper.
|
| |
|
| | Muxer (std::shared_ptr< StormByte::Logger::Log > log, const Container &container) noexcept |
| | Muxer for container.
|
| |
| | Muxer (const Muxer &other)=delete |
| | Copy constructor.
|
| |
| | Muxer (Muxer &&other) noexcept=delete |
| | Move constructor.
|
| |
| | ~Muxer () noexcept override |
| | Destructor.
|
| |
| Muxer & | operator= (const Muxer &other)=delete |
| | Copy assignment.
|
| |
| Muxer & | operator= (Muxer &&other) noexcept=delete |
| | Move assignment.
|
| |
|
| std::optional< std::string > | Language (int output_index) const noexcept |
| | Language tag for mux output output_index.
|
| |
| void | Language (int output_index, std::string language) noexcept |
| | Sets the language tag for mux output output_index.
|
| |
| std::optional< std::string > | Title (int output_index) const noexcept |
| | Title tag for mux output output_index.
|
| |
| void | Title (int output_index, std::string title) noexcept |
| | Sets the title tag for mux output output_index.
|
| |
| | 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.
|
| |
| void | Stop () noexcept |
| | Asks the worker to leave and closes all hoppers.
|
| |
| 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.
|
| |
Writes interleaved packets to a destination container.
Notice: destination path when bound, closed once. LowLevel writes always; the shared logger throttles. Remux and encode lanes share this worker.
Does not write the container header until Armed is true. Ready is Status Ready and Armed.
| bool StormByte::Multimedia::Pipeline::Muxer::Armed |
( |
| ) |
const |
|
noexcept |
Whether every muxable Plan track has a reserved hopper.
Counts Video, Audio and Subtitle entries in Plan::Tracks. Attachments are written at header time and are not hoppers. true when reserved slots equal that count. false with no Plan, or while operator>> is still running.
Does not Fail. The owner of the graph (Filters::Close or Transcoder) checks this after wiring and Fails the Muxer if it is still false.
- Returns
- Arming state of the output graph.