15 #pragma GCC diagnostic push
16 #pragma GCC diagnostic ignored "-Wdocumentation"
18 #include <libavformat/avformat.h>
19 #include <libavcodec/avcodec.h>
21 #pragma GCC diagnostic pop
30 avcodec_free_context (&coder);
36 av_packet_free (&frame);
44 std::unique_ptr <AVPacket, PacketDeleter>
packet;
52 virtual bool play (
void *buffer,
unsigned numberOfBytes)
override;
Class to abstract away details of audio output system is in use.
Output class for libavdevice.
Definition: avdeviceoutput.h:27
const int flush_time_quanta
milliseconds
Definition: avdeviceoutput.h:47
int min_flush_time
milliseconds
Definition: avdeviceoutput.h:45
int max_flush_time
milliseconds
Definition: avdeviceoutput.h:46
virtual ~AvDeviceOutput()
Definition: avdeviceoutput.cpp:186
std::unique_ptr< AVPacket, PacketDeleter > packet
Definition: avdeviceoutput.h:44
AVCodec * codec
Definition: avdeviceoutput.h:40
AVFormatContext * context
Definition: avdeviceoutput.h:41
AVStream * stream
Definition: avdeviceoutput.h:42
std::unique_ptr< AVCodecContext, CodecDeleter > codec_context
Definition: avdeviceoutput.h:43
virtual bool play(void *buffer, unsigned numberOfBytes) override
Play output.
Definition: avdeviceoutput.cpp:211
AvDeviceOutput(const AudioSettings &settings, const AudioFormat &format)
Create an audio outputter for ffmpeg's libavdevice.
Definition: avdeviceoutput.cpp:64
Base audio output class (abstract).
Definition: audiooutput.h:65
Classes dealing with audio output drivers and decoding/playing audio files.
Definition: audiooutput.cpp:48
Definition: avdeviceoutput.h:28
void operator()(AVCodecContext *coder)
Definition: avdeviceoutput.h:29
Definition: avdeviceoutput.h:34
void operator()(AVPacket *frame)
Definition: avdeviceoutput.h:35
Audio output device & driver parameters.
Definition: fundamentals.h:52