20#define AUD_BUILD_PLUGIN
37#include <libavformat/avformat.h>
61 AVFormatContext* m_formatCtx;
66 AVCodecContext* m_codecCtx;
91 Buffer m_deinterleave_buffer;
96 unsigned int m_input_samples;
101 unsigned int m_input_size;
#define AUD_NAMESPACE_END
Closes the audaspace namespace aud.
Definition Audaspace.h:119
float sample_t
Sample type.(float samples)
Definition Audaspace.h:126
#define AUD_LOCAL
Used for hiding symbols from export in the shared library.
Definition Audaspace.h:80
#define AUD_NAMESPACE_BEGIN
Opens the audaspace namespace aud.
Definition Audaspace.h:116
#define AUD_PLUGIN_API
Used for exporting symbols in the shared library.
Definition Audaspace.h:94
Defines several conversion functions between different sample formats.
void(* convert_f)(data_t *target, data_t *source, int length)
The function template for functions converting from one sample format to another, having the same par...
Definition ConverterFunctions.h:35
Defines the IWriter interface as well as Container and Codec types.
Container
Container formats for writers.
Definition IWriter.h:31
Codec
Audio codecs for writers.
Definition IWriter.h:44
This class is a simple buffer in RAM which is 32 Byte aligned and provides resize functionality.
Definition Buffer.h:34
This class writes a sound file via ffmpeg.
Definition FFMPEGWriter.h:46
virtual DeviceSpecs getSpecs() const
Returns the specification of the audio data being written into the sink.
FFMPEGWriter(const std::string &filename, DeviceSpecs specs, Container format, Codec codec, unsigned int bitrate)
Creates a new writer.
virtual ~FFMPEGWriter()
Destroys the writer and closes the file.
virtual int getPosition() const
Returns how many samples have been written so far.
virtual void write(unsigned int length, sample_t *buffer)
Request to write the next length samples out into the sink.
This class represents a sound sink where audio data can be written to.
Definition IWriter.h:61
Specification of a sound device.
Definition Specification.h:129