Kodi Documentation 22.0
Kodi is an open source media player and entertainment hub.
Loading...
Searching...
No Matches
IAESink Class Referenceabstract

#include <AESink.h>

Inheritance diagram for IAESink:
AE::SINK::CAESinkPipewire CAESinkALSA CAESinkAUDIOTRACK CAESinkDARWINIOS CAESinkDARWINOSX CAESinkDARWINTVOS CAESinkDirectSound CAESinkOSS CAESinkPULSE CAESinkSNDIO CAESinkStarfish CAESinkWASAPI CAESinkXAudio

Public Member Functions

virtual const char * GetName ()=0
 
 IAESink ()=default
 
virtual ~IAESink ()=default
 
virtual bool Initialize (AEAudioFormat &format, std::string &device)=0
 
virtual void Deinitialize ()=0
 
virtual double GetCacheTotal ()=0
 
virtual double GetLatency ()
 
virtual unsigned int AddPackets (uint8_t **data, unsigned int frames, unsigned int offset)=0
 Adds packets to be sent out, this routine MUST block or sleep.
 
virtual void AddPause (unsigned int millis)
 instruct the sink to add a pause
 
virtual void GetDelay (AEDelayStatus &status)=0
 Return a timestamped status structure with delay and sink info.
 
virtual void Drain ()
 
virtual bool HasVolume ()
 
virtual void SetVolume (float volume)
 

Constructor & Destructor Documentation

◆ IAESink()

IAESink::IAESink ( )
default

◆ ~IAESink()

virtual IAESink::~IAESink ( )
virtualdefault

Member Function Documentation

◆ AddPackets()

virtual unsigned int IAESink::AddPackets ( uint8_t ** data,
unsigned int frames,
unsigned int offset )
pure virtual

Adds packets to be sent out, this routine MUST block or sleep.

Parameters
dataarray of pointers to planes holding audio data
framesnumber of audio frames in data
offsetoffset in frames where audio data starts
Returns
number of frames consumed by the sink

Implemented in CAESinkDirectSound, CAESinkALSA, CAESinkAUDIOTRACK, CAESinkDARWINIOS, CAESinkDARWINOSX, CAESinkDARWINTVOS, CAESinkOSS, CAESinkPULSE, CAESinkSNDIO, CAESinkStarfish, CAESinkWASAPI, CAESinkXAudio, and AE::SINK::CAESinkPipewire.

◆ AddPause()

virtual void IAESink::AddPause ( unsigned int millis)
inlinevirtual

instruct the sink to add a pause

Parameters
millisms to pause

Reimplemented in CAESinkAUDIOTRACK, and CAESinkStarfish.

◆ Deinitialize()

◆ Drain()

◆ GetCacheTotal()

◆ GetDelay()

virtual void IAESink::GetDelay ( AEDelayStatus & status)
pure virtual

Return a timestamped status structure with delay and sink info.

Parameters
statusstructure filled with sink status

Implemented in CAESinkDirectSound, CAESinkALSA, CAESinkAUDIOTRACK, CAESinkDARWINIOS, CAESinkDARWINOSX, CAESinkDARWINTVOS, CAESinkOSS, CAESinkPULSE, CAESinkSNDIO, CAESinkStarfish, CAESinkWASAPI, CAESinkXAudio, and AE::SINK::CAESinkPipewire.

◆ GetLatency()

virtual double IAESink::GetLatency ( )
inlinevirtual

◆ GetName()

◆ HasVolume()

virtual bool IAESink::HasVolume ( )
inlinevirtual

◆ Initialize()

◆ SetVolume()

virtual void IAESink::SetVolume ( float volume)
inlinevirtual

Reimplemented in CAESinkPULSE.


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