20 #define AUD_BUILD_PLUGIN 35 struct AVCodecContext;
37 #include <libavformat/avformat.h> 61 AVFormatContext* m_formatCtx;
66 AVCodecContext* m_codecCtx;
71 AVOutputFormat* m_outputFmt;
86 Buffer m_deinterleave_buffer;
91 unsigned int m_input_samples;
96 unsigned int m_input_size;
142 virtual void write(
unsigned int length, sample_t* buffer);
virtual int getPosition() const =0
Returns how many samples have been written so far.
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
This class is a simple buffer in RAM which is 32 Byte aligned and provides resize functionality...
Definition: Buffer.h:33
Specification of a sound device.
Definition: Specification.h:119
Defines several conversion functions between different sample formats.
This class writes a sound file via ffmpeg.
Definition: FFMPEGWriter.h:45
Codec
Audio codecs for writers.
Definition: IWriter.h:43
virtual DeviceSpecs getSpecs() const =0
Returns the specification of the audio data being written into the sink.
Container
Container formats for writers.
Definition: IWriter.h:30
virtual void write(unsigned int length, sample_t *buffer)=0
Request to write the next length samples out into the sink.
#define AUD_PLUGIN_API
Used for exporting symbols in the shared library.
Definition: Audaspace.h:94
This class represents a sound sink where audio data can be written to.
Definition: IWriter.h:60
#define AUD_LOCAL
Used for hiding symbols from export in the shared library.
Definition: Audaspace.h:80
Defines the IWriter interface as well as Container and Codec types.