Route audio from a ProducerModule to ConsumerModule, with ModifierModule in the middle. More...
Public Types | |
| using | ModifierIterator = details::Iterator< decltype(_modifiers)> |
| using | ConsumerIterator = details::Iterator< decltype(_consumers)> |
Public Member Functions | |
| Pipeline ()=default | |
| Pipeline (Pipeline const &other)=delete | |
| Cannot copy because Modifiers & Consumers cannot be shared nor cloned. More... | |
| Pipeline & | operator= (Pipeline const &other)=delete |
| Cannot copy because Modifiers & Consumers cannot be shared nor cloned. More... | |
| Pipeline (Pipeline &&other) | |
| Pipeline & | operator= (Pipeline &&) |
| ~Pipeline () | |
| Stops the pipeline if running and unsubscribe from the producer. More... | |
| void | run () |
| Synchronously runs the pipeline (if supported by the provider). More... | |
| void | start () |
| Asynchronously runs the pipeline (if supported by the provider). More... | |
| void | stop () |
| Stops a pipeline that's been start()-ed. More... | |
| void | setProducer (ProducerPtr producer) |
| Sets a new producer that's already been constructed outside. More... | |
| template<class T , typename... Args> | |
| auto | setProducer (Args &&... args) -> std::shared_ptr< T > |
Sets a new producer by constructing it with args. More... | |
| template<class T , typename... Args> | |
| auto | pushBackModifier (Args &&... args) -> ModifierIterator |
| template<class T , typename... Args> | |
| auto | pushFrontModifier (Args &&... args) -> ModifierIterator |
| template<class T , typename... Args> | |
| auto | pushBackConsumer (Args &&... args) -> ConsumerIterator |
| template<class T , typename... Args> | |
| auto | pushFrontConsumer (Args &&... args) -> ConsumerIterator |
| template<class T , typename... Args> | |
| auto | insertModifier (ModifierIterator pos, Args &&... args) -> ModifierIterator |
| template<class T , typename... Args> | |
| auto | insertConsumer (ConsumerIterator pos, Args &&... args) -> ConsumerIterator |
| auto | pushBackModifier (ModifierPtr ptr) -> ModifierIterator |
| auto | pushBackConsumer (ConsumerPtr ptr) -> ConsumerIterator |
| auto | pushFrontModifier (ModifierPtr ptr) -> ModifierIterator |
| auto | pushFrontConsumer (ConsumerPtr ptr) -> ConsumerIterator |
| auto | insertModifier (ModifierIterator pos, ModifierPtr ptr) -> ModifierIterator |
| auto | insertConsumer (ConsumerIterator pos, ConsumerPtr ptr) -> ConsumerIterator |
| void | eraseModifier (ModifierIterator it) |
| void | eraseConsumer (ConsumerIterator it) |
| auto | producer () const -> ProducerPtr |
| Gets this pipeline's producer in a generic form. More... | |
| template<typename T > | |
| auto | producer () const -> std::shared_ptr< T > |
Gets this pipeline's producer statically casted to T. More... | |
Route audio from a ProducerModule to ConsumerModule, with ModifierModule in the middle.
| using Vsdk::Audio::Pipeline::ModifierIterator = details::Iterator<decltype(_modifiers)> |
| using Vsdk::Audio::Pipeline::ConsumerIterator = details::Iterator<decltype(_consumers)> |
|
default |
|
delete |
Cannot copy because Modifiers & Consumers cannot be shared nor cloned.
| Pipeline::Pipeline | ( | Pipeline && | other | ) |
| Pipeline::~Pipeline | ( | ) |
Stops the pipeline if running and unsubscribe from the producer.
Cannot copy because Modifiers & Consumers cannot be shared nor cloned.
| void Pipeline::run | ( | ) |
Synchronously runs the pipeline (if supported by the provider).
Effectively calls:
| Vsdk::Exception | if:
|
| void Pipeline::start | ( | ) |
| void Pipeline::stop | ( | ) |
| void Pipeline::setProducer | ( | ProducerPtr | producer | ) |
Sets a new producer that's already been constructed outside.
| auto Vsdk::Audio::Pipeline::setProducer | ( | Args &&... | args | ) | -> std::shared_ptr<T> |
Sets a new producer by constructing it with args.
| auto Vsdk::Audio::Pipeline::pushBackModifier | ( | Args &&... | args | ) | -> ModifierIterator |
| auto Vsdk::Audio::Pipeline::pushFrontModifier | ( | Args &&... | args | ) | -> ModifierIterator |
| auto Vsdk::Audio::Pipeline::pushBackConsumer | ( | Args &&... | args | ) | -> ConsumerIterator |
| auto Vsdk::Audio::Pipeline::pushFrontConsumer | ( | Args &&... | args | ) | -> ConsumerIterator |
| auto Vsdk::Audio::Pipeline::insertModifier | ( | ModifierIterator | pos, |
| Args &&... | args | ||
| ) | -> ModifierIterator |
| auto Vsdk::Audio::Pipeline::insertConsumer | ( | ConsumerIterator | pos, |
| Args &&... | args | ||
| ) | -> ConsumerIterator |
| auto Pipeline::pushBackModifier | ( | ModifierPtr | ptr | ) | -> ModifierIterator |
| auto Pipeline::pushBackConsumer | ( | ConsumerPtr | ptr | ) | -> ConsumerIterator |
| auto Pipeline::pushFrontModifier | ( | ModifierPtr | ptr | ) | -> ModifierIterator |
| auto Pipeline::pushFrontConsumer | ( | ConsumerPtr | ptr | ) | -> ConsumerIterator |
| auto Pipeline::insertModifier | ( | ModifierIterator | pos, |
| ModifierPtr | ptr | ||
| ) | -> ModifierIterator |
| auto Pipeline::insertConsumer | ( | ConsumerIterator | pos, |
| ConsumerPtr | ptr | ||
| ) | -> ConsumerIterator |
| void Pipeline::eraseModifier | ( | ModifierIterator | it | ) |
| void Pipeline::eraseConsumer | ( | ConsumerIterator | it | ) |
| auto Vsdk::Audio::Pipeline::producer | ( | ) | const -> ProducerPtr |
Gets this pipeline's producer in a generic form.
| auto Vsdk::Audio::Pipeline::producer | ( | ) | const -> std::shared_ptr<T> |
Gets this pipeline's producer statically casted to T.