Ardour
9.0-pre0-582-g084a23a80d
|
Interleaves many streams of non-interleaved data into one interleaved stream. More...
#include <interleaver.h>
Classes | |
class | Input |
Public Member Functions | |
Interleaver () | |
Constructs an interleaver RT safe. More... | |
~Interleaver () | |
void | init (unsigned int num_channels, samplecnt_t max_samples_per_channel) |
Inits the interleaver. Must be called before using. Not RT safe. More... | |
Source< T >::SinkPtr | input (unsigned int channel) |
Public Member Functions inherited from AudioGrapher::ListedSource< DefaultSampleType > | |
void | add_output (typename Source< DefaultSampleType >::SinkPtr output) |
void | clear_outputs () |
Removes all outputs added. More... | |
void | remove_output (typename Source< DefaultSampleType >::SinkPtr output) |
Public Member Functions inherited from AudioGrapher::Source< DefaultSampleType > | |
virtual | ~Source () |
virtual void | add_output (SinkPtr output)=0 |
Adds an output to this source. All data generated is forwarded to output. More... | |
virtual void | remove_output (SinkPtr output)=0 |
Removes a specific output from this source. More... | |
Private Types | |
typedef std::shared_ptr< Input > | InputPtr |
Private Member Functions | |
void | reset () |
void | reset_channels () |
void | write_channel (ProcessContext< T > const &c, unsigned int channel) |
samplecnt_t | ready_to_output () |
Private Attributes | |
std::vector< InputPtr > | inputs |
unsigned int | channels |
samplecnt_t | max_samples |
T * | buffer |
Additional Inherited Members | |
Public Types inherited from AudioGrapher::Source< DefaultSampleType > | |
typedef std::shared_ptr< Sink< DefaultSampleType > > | SinkPtr |
Protected Types inherited from AudioGrapher::ListedSource< DefaultSampleType > | |
typedef std::list< typename Source< DefaultSampleType >::SinkPtr > | SinkList |
Protected Member Functions inherited from AudioGrapher::ListedSource< DefaultSampleType > | |
void | output (ProcessContext< DefaultSampleType > const &c) |
Helper for derived classes. More... | |
void | output (ProcessContext< DefaultSampleType > &c) |
bool | output_size_is_one () |
Protected Member Functions inherited from AudioGrapher::Throwing< L > | |
Throwing () | |
bool | throw_level (ThrowLevel level) |
Protected Attributes inherited from AudioGrapher::ListedSource< DefaultSampleType > | |
SinkList | outputs |
Interleaves many streams of non-interleaved data into one interleaved stream.
Definition at line 19 of file interleaver.h.
|
private |
Definition at line 143 of file interleaver.h.
|
inline |
Constructs an interleaver
RT safe.
Definition at line 26 of file interleaver.h.
|
inline |
Definition at line 32 of file interleaver.h.
|
inline |
Inits the interleaver. Must be called before using.
Not RT safe.
Definition at line 35 of file interleaver.h.
|
inline |
Returns the input indexed by channel
RT safe
The process function of returned Sinks are also RT Safe
Definition at line 51 of file interleaver.h.
|
inlineprivate |
Definition at line 127 of file interleaver.h.
|
inlineprivate |
Definition at line 91 of file interleaver.h.
|
inlineprivate |
Definition at line 100 of file interleaver.h.
|
inlineprivate |
Definition at line 108 of file interleaver.h.
|
private |
Definition at line 148 of file interleaver.h.
|
private |
Definition at line 146 of file interleaver.h.
|
private |
Definition at line 144 of file interleaver.h.
|
private |
Definition at line 147 of file interleaver.h.