openshot-audio  0.1.2
Public Member Functions | List of all members
WavAudioFormatWriter Class Reference
Inheritance diagram for WavAudioFormatWriter:
AudioFormatWriter

Public Member Functions

 WavAudioFormatWriter (OutputStream *const out, const double rate, const unsigned int numChans, const unsigned int bits, const StringPairArray &metadataValues)
 
 ~WavAudioFormatWriter ()
 
bool write (const int **data, int numSamples) override
 
bool flush () override
 
- Public Member Functions inherited from AudioFormatWriter
virtual ~AudioFormatWriter ()
 
const StringgetFormatName () const noexcept
 
bool writeFromAudioReader (AudioFormatReader &reader, int64 startSample, int64 numSamplesToRead)
 
bool writeFromAudioSource (AudioSource &source, int numSamplesToRead, int samplesPerBlock=2048)
 
bool writeFromAudioSampleBuffer (const AudioSampleBuffer &source, int startSample, int numSamples)
 
bool writeFromFloatArrays (const float *const *channels, int numChannels, int numSamples)
 
double getSampleRate () const noexcept
 
int getNumChannels () const noexcept
 
int getBitsPerSample () const noexcept
 
bool isFloatingPoint () const noexcept
 

Additional Inherited Members

- Protected Member Functions inherited from AudioFormatWriter
 AudioFormatWriter (OutputStream *destStream, const String &formatName, double sampleRate, unsigned int numberOfChannels, unsigned int bitsPerSample)
 
- Protected Attributes inherited from AudioFormatWriter
double sampleRate
 
unsigned int numChannels
 
unsigned int bitsPerSample
 
bool usesFloatingPointData
 
OutputStreamoutput
 

Constructor & Destructor Documentation

◆ WavAudioFormatWriter()

WavAudioFormatWriter::WavAudioFormatWriter ( OutputStream *const  out,
const double  rate,
const unsigned int  numChans,
const unsigned int  bits,
const StringPairArray metadataValues 
)
inline

◆ ~WavAudioFormatWriter()

WavAudioFormatWriter::~WavAudioFormatWriter ( )
inline

Member Function Documentation

◆ flush()

bool WavAudioFormatWriter::flush ( )
inlineoverridevirtual

Some formats may support a flush operation that makes sure the file is in a valid state before carrying on. If supported, this means that by calling flush periodically when writing data to a large file, then it should still be left in a readable state if your program crashes. It goes without saying that this method must be called from the same thread that's calling write()! If the format supports flushing and the operation succeeds, this returns true.

Reimplemented from AudioFormatWriter.

◆ write()

bool WavAudioFormatWriter::write ( const int **  samplesToWrite,
int  numSamples 
)
inlineoverridevirtual

Writes a set of samples to the audio stream.

Note that if you're trying to write the contents of an AudioSampleBuffer, you can use AudioSampleBuffer::writeToAudioWriter().

Parameters
samplesToWritean array of arrays containing the sample data for each channel to write. This is a zero-terminated array of arrays, and can contain a different number of channels than the actual stream uses, and the writer should do its best to cope with this. If the format is fixed-point, each channel will be formatted as an array of signed integers using the full 32-bit range -0x80000000 to 0x7fffffff, regardless of the source's bit-depth. If it is a floating-point format, you should treat the arrays as arrays of floats, and just cast it to an (int**) to pass it into the method.
numSamplesthe number of samples to write

Implements AudioFormatWriter.


The documentation for this class was generated from the following file: