|
Blender
V2.59
|
#include <AUD_SRCResampleReader.h>

Public Member Functions | |
| AUD_SRCResampleReader (AUD_IReader *reader, AUD_Specs specs) | |
| ~AUD_SRCResampleReader () | |
| long | doCallback (float **data) |
| virtual void | seek (int position) |
| virtual int | getLength () const |
| virtual int | getPosition () const |
| virtual AUD_Specs | getSpecs () const |
| virtual void | read (int &length, sample_t *&buffer) |
This resampling reader uses libsamplerate for resampling.
Definition at line 43 of file AUD_SRCResampleReader.h.
| AUD_SRCResampleReader::AUD_SRCResampleReader | ( | AUD_IReader * | reader, |
| AUD_Specs | specs | ||
| ) |
Creates a resampling reader.
| reader | The reader to mix. |
| specs | The target specification. |
| AUD_Exception | Thrown if the source specification cannot be resampled to the target specification. |
Definition at line 46 of file AUD_SRCResampleReader.cpp.
References AUD_ERROR_SRC, AUD_THROW, AUD_Specs::channels, error(), src_callback(), and state_error.
| AUD_SRCResampleReader::~AUD_SRCResampleReader | ( | ) |
Destroys the reader.
Definition at line 70 of file AUD_SRCResampleReader.cpp.
| long AUD_SRCResampleReader::doCallback | ( | float ** | data | ) |
The callback function for SRC.
| data | The pointer to the float data. |
Definition at line 75 of file AUD_SRCResampleReader.cpp.
References AUD_SAMPLE_SIZE, AUD_Buffer::getSize(), length(), AUD_EffectReader::m_reader, and AUD_IReader::read().
| int AUD_SRCResampleReader::getLength | ( | ) | const [virtual] |
Returns an approximated length of the source in samples. For readers of the type buffer this has to return a correct value!
Reimplemented from AUD_EffectReader.
Definition at line 93 of file AUD_SRCResampleReader.cpp.
References AUD_IReader::getLength(), and AUD_EffectReader::m_reader.
| int AUD_SRCResampleReader::getPosition | ( | ) | const [virtual] |
Returns the position of the source as a sample count value.
Reimplemented from AUD_EffectReader.
Definition at line 98 of file AUD_SRCResampleReader.cpp.
| AUD_Specs AUD_SRCResampleReader::getSpecs | ( | ) | const [virtual] |
Returns the specification of the reader.
Reimplemented from AUD_EffectReader.
Definition at line 103 of file AUD_SRCResampleReader.cpp.
| void AUD_SRCResampleReader::read | ( | int & | length, |
| sample_t *& | buffer | ||
| ) | [virtual] |
Request to read the next length samples out of the source. The buffer for reading has to stay valid until the next call of this method or until the reader is deleted.
| [in,out] | length | The count of samples that should be read. Shall contain the real count of samples after reading, in case there were only fewer samples available. A smaller value also indicates the end of the reader. |
| [out] | buffer | The pointer to the buffer with the samples. |
Reimplemented from AUD_EffectReader.
Definition at line 108 of file AUD_SRCResampleReader.cpp.
References AUD_SAMPLE_SIZE, AUD_Buffer::getBuffer(), AUD_Buffer::getSize(), length(), AUD_Buffer::resize(), and size().
| void AUD_SRCResampleReader::seek | ( | int | position | ) | [virtual] |
Seeks to a specific position in the source. This function must work for buffer type readers.
| position | The position to seek for measured in samples. To get from a given time to the samples you simply have to multiply the time value in seconds with the sample rate of the reader. |
Reimplemented from AUD_EffectReader.
Definition at line 86 of file AUD_SRCResampleReader.cpp.
References AUD_EffectReader::m_reader, and AUD_IReader::seek().