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

#include <AESinkPULSE.h>

Inheritance diagram for CAESinkPULSE:
IAESink

Public Member Functions

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

Static Public Member Functions

static bool Register (bool allowPipeWireCompatServer)
 
static std::unique_ptr< IAESinkCreate (std::string &device, AEAudioFormat &desiredFormat)
 
static void EnumerateDevicesEx (AEDeviceInfoList &list, bool force=false)
 
static void Cleanup ()
 

Public Attributes

CCriticalSection m_sec
 
std::atomic< intm_requestedBytes = 0
 

Constructor & Destructor Documentation

◆ CAESinkPULSE()

CAESinkPULSE::CAESinkPULSE ( )

◆ ~CAESinkPULSE()

CAESinkPULSE::~CAESinkPULSE ( )
override

Member Function Documentation

◆ AddPackets()

unsigned int CAESinkPULSE::AddPackets ( uint8_t ** data,
unsigned int frames,
unsigned int offset )
overridevirtual

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

Implements IAESink.

◆ Cleanup()

void CAESinkPULSE::Cleanup ( )
static

◆ Create()

std::unique_ptr< IAESink > CAESinkPULSE::Create ( std::string & device,
AEAudioFormat & desiredFormat )
static

◆ Deinitialize()

void CAESinkPULSE::Deinitialize ( )
overridevirtual

Implements IAESink.

◆ Drain()

void CAESinkPULSE::Drain ( )
overridevirtual

Reimplemented from IAESink.

◆ EnumerateDevicesEx()

void CAESinkPULSE::EnumerateDevicesEx ( AEDeviceInfoList & list,
bool force = false )
static

◆ GetCacheTotal()

double CAESinkPULSE::GetCacheTotal ( )
overridevirtual

Implements IAESink.

◆ GetDelay() [1/2]

virtual double CAESinkPULSE::GetDelay ( )
inlinevirtual

◆ GetDelay() [2/2]

void CAESinkPULSE::GetDelay ( AEDelayStatus & status)
overridevirtual

Return a timestamped status structure with delay and sink info.

Parameters
statusstructure filled with sink status

Implements IAESink.

◆ GetInternalMainLoop()

pa_threaded_mainloop * CAESinkPULSE::GetInternalMainLoop ( )

◆ GetInternalStream()

pa_stream * CAESinkPULSE::GetInternalStream ( )

◆ GetName()

const char * CAESinkPULSE::GetName ( )
inlineoverridevirtual

Implements IAESink.

◆ HasVolume()

bool CAESinkPULSE::HasVolume ( )
inlineoverridevirtual

Reimplemented from IAESink.

◆ Initialize()

bool CAESinkPULSE::Initialize ( AEAudioFormat & format,
std::string & device )
overridevirtual

Implements IAESink.

◆ IsInitialized()

bool CAESinkPULSE::IsInitialized ( )

◆ Register()

bool CAESinkPULSE::Register ( bool allowPipeWireCompatServer)
static

◆ SetVolume()

void CAESinkPULSE::SetVolume ( float volume)
overridevirtual

Reimplemented from IAESink.

◆ UpdateInternalVolume()

void CAESinkPULSE::UpdateInternalVolume ( const pa_cvolume * nVol)

Member Data Documentation

◆ m_requestedBytes

std::atomic<int> CAESinkPULSE::m_requestedBytes = 0

◆ m_sec

CCriticalSection CAESinkPULSE::m_sec

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