pianod2
multisource multiuser scriptable networked music player
Public Member Functions | Private Attributes | List of all members
Audio::LavGenericAdapter Class Reference

Adapter to feed a ffmpeg stream to a generic audio output. More...

#include <ffmpegplayer.h>

Inheritance diagram for Audio::LavGenericAdapter:
Inheritance graph
[legend]
Collaboration diagram for Audio::LavGenericAdapter:
Collaboration graph
[legend]

Public Member Functions

 LavGenericAdapter (const AVCodecContext *codec, const AVStream *stream, Output *out, const AVSampleFormat output_format)
 Adapt whatever output for input from ffmpeg. More...
 
 ~LavGenericAdapter ()
 
virtual bool playFrame (AVFrame *frame) override
 Send a processed frame to the audio output device. More...
 
- Public Member Functions inherited from Audio::LavAdapter
virtual ~LavAdapter ()
 
bool play (AVFrame *frame)
 Play a frame from a ffmpeg decoder. More...
 
void setVolume (float level)
 

Private Attributes

std::unique_ptr< Outputoutput
 

Additional Inherited Members

- Static Public Member Functions inherited from Audio::LavAdapter
static LavAdaptergetOutput (const AudioSettings &settings, const AVCodecContext *context, const AVStream *stream)
 Choose an output, then get an adapter for libav and set it up to match the output's format. More...
 
- Protected Member Functions inherited from Audio::LavAdapter
 LavAdapter (const AVCodecContext *codec, const AVStream *stream, const AVSampleFormat output_format)
 Adapt whatever output for input from ffmpeg. More...
 
bool playFilteredPackets (const bool eof_return_value=true)
 Read all the resulting frames coming out of the filter stack, and push them to the outputter. More...
 
void flush ()
 Play any frames buffered in the filter. More...
 

Detailed Description

Adapter to feed a ffmpeg stream to a generic audio output.

Constructor & Destructor Documentation

◆ LavGenericAdapter()

Audio::LavGenericAdapter::LavGenericAdapter ( const AVCodecContext *  codec,
const AVStream *  stream,
Output out,
const AVSampleFormat  output_format 
)

Adapt whatever output for input from ffmpeg.

Parameters
codecThe ffmpeg codec context.
streamA stream from whence audio will arrive.
outAn output mechanism.
output_formatThe format required by the outputter.

◆ ~LavGenericAdapter()

Audio::LavGenericAdapter::~LavGenericAdapter ( )
Here is the call graph for this function:

Member Function Documentation

◆ playFrame()

bool Audio::LavGenericAdapter::playFrame ( AVFrame *  frame)
overridevirtual

Send a processed frame to the audio output device.

Parameters
frameThe audio frame to play.
Returns
True on success, false on error.

Implements Audio::LavAdapter.

Member Data Documentation

◆ output

std::unique_ptr<Output> Audio::LavGenericAdapter::output
private

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