Public Member Functions | |
BufferForwarder () noexcept | |
Constructs a BufferForwarder with an accelerationRate of 1.0 . More... | |
void | forward (Vsdk::Audio::Buffer buffer, bool last) |
Dumps the buffer into the pipeline. More... | |
void | stream (Vsdk::Audio::Buffer buffer, bool last, std::size_t bufferSize) |
Synchronously streams the buffer into the pipeline at a rate of sample rate × channel count bytes per second. More... | |
void | setAccelerationRate (double rate) |
Sets acceleration rate. Cannot be less than 1.0 . More... | |
Public Member Functions inherited from Vsdk::Audio::ProducerModuleImpl< BufferForwarder > | |
ProducerModuleImpl ()=default | |
Public Member Functions inherited from Vsdk::Audio::ProducerModule | |
ProducerModule () | |
ProducerModule (ProducerModule &&) | |
ProducerModule & | operator= (ProducerModule &&) |
virtual | ~ProducerModule ()=0 |
ProducerModule (ProducerModule const &)=delete | |
ProducerModule & | operator= (ProducerModule const &)=delete |
auto | subscribeFirst (AudioCallback c) -> Iterator |
Subscribes as first in the list of audio buffer receivers for this producer. More... | |
auto | subscribeLast (AudioCallback c) -> Iterator |
Subscribes as last in the list of audio buffer receivers for this producer. More... | |
void | unsubscribe (Iterator it) noexcept |
Unsubscribes from this producer audio buffer dispatch list. More... | |
auto | lastError () const -> std::string |
auto | state () const -> State |
bool | isOpened () const |
bool | isRunning () const |
bool | isStarted () const |
bool | isPaused () const |
bool | isIdle () const |
bool | isClosed () const |
bool | open () noexcept |
Attempts to open the underlying resource(s) of the producer. More... | |
bool | run () noexcept |
bool | start () noexcept |
bool | pause () noexcept |
Attempts to pause a started producer. More... | |
bool | resume () noexcept |
Attempts to resume a paused producer. More... | |
bool | stop () noexcept |
Attempts to stop a started producer. More... | |
bool | close () noexcept |
Protected Member Functions | |
void | startImpl () override |
void | stopImpl () override |
Protected Member Functions inherited from Vsdk::Audio::ProducerModule | |
virtual void | openImpl () |
virtual void | runImpl () |
virtual void | pauseImpl () |
virtual void | resumeImpl () |
virtual void | closeImpl () |
void | dispatchBuffer (Buffer buffer, bool last) |
template<typename T > | |
void | dispatchAudio (T &&data, int sampleRate, int channelCount, bool isLast) |
Additional Inherited Members | |
Public Types inherited from Vsdk::Audio::ProducerModule | |
enum | State { State::Closed, State::Opened, State::Running, State::Started, State::Paused, State::Idle } |
using | Iterator = details::Iterator< decltype(_subscribers)> |
Iterator pointing to a subscriber of this producer. More... | |
Static Public Member Functions inherited from Vsdk::Audio::ProducerModuleImpl< BufferForwarder > | |
static auto | make (Args &&... args) -> std::shared_ptr< BufferForwarder > |
Protected Attributes inherited from Vsdk::Audio::ProducerModule | |
std::atomic< State > | _state |
|
noexcept |
Constructs a BufferForwarder
with an accelerationRate
of 1.0
.
void BufferForwarder::forward | ( | Vsdk::Audio::Buffer | buffer, |
bool | last | ||
) |
Dumps the buffer
into the pipeline.
void BufferForwarder::stream | ( | Vsdk::Audio::Buffer | buffer, |
bool | last, | ||
std::size_t | bufferSize | ||
) |
Synchronously streams the buffer
into the pipeline at a rate of sample rate × channel count
bytes per second.
buffer | If zero or >= buffer.size() , is equivalent to a call to forward(). If its value is >= sample rate × channel count , more than a second will be spent sleeping before the next audio dispatch is done |
void BufferForwarder::setAccelerationRate | ( | double | rate | ) |
Sets acceleration rate. Cannot be less than 1.0
.
|
overrideprotectedvirtual |
Reimplemented from Vsdk::Audio::ProducerModule.
|
overrideprotectedvirtual |
Reimplemented from Vsdk::Audio::ProducerModule.