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

IAE Interface. More...

#include <AE.h>

Inheritance diagram for IAE:
ActiveAE::CActiveAE IThreadedAE

Public Types

using StreamPtr = std::unique_ptr<IAEStream, IAEStreamDeleter>
 
using SoundPtr = std::unique_ptr<IAESound, IAESoundDeleter>
 

Public Member Functions

virtual void Shutdown ()
 Called when the application needs to terminate the engine.
 
virtual bool Suspend ()=0
 Suspends output and de-initializes sink.
 
virtual bool Resume ()=0
 Resumes output and re-initializes sink.
 
virtual bool IsSuspended ()
 Get the current Suspend() state.
 
virtual float GetVolume ()=0
 Returns the current master volume level of the AudioEngine.
 
virtual void SetVolume (const float volume)=0
 Sets the master volume level of the AudioEngine.
 
virtual void SetMute (const bool enabled)=0
 Set the mute state (does not affect volume level value)
 
virtual bool IsMuted ()=0
 Get the current mute state.
 
virtual StreamPtr MakeStream (AEAudioFormat &audioFormat, unsigned int options=0, IAEClockCallback *clock=NULL)=0
 Creates and returns a new IAEStream in the format specified, this function should never fail.
 
virtual SoundPtr MakeSound (const std::string &file)=0
 Creates a new IAESound that is ready to play the specified file.
 
virtual void EnumerateOutputDevices (AEDeviceList &devices, bool passthrough)=0
 Enumerate the supported audio output devices.
 
virtual bool SupportsRaw (AEAudioFormat &format)
 Returns true if the AudioEngine supports AE_FMT_RAW streams for use with formats such as IEC61937.
 
virtual bool SupportsSilenceTimeout ()
 Returns true if the AudioEngine supports drain mode which is not streaming silence when idle.
 
virtual bool UsesDtsCoreFallback ()
 Returns true if the AudioEngine is currently configured to extract the DTS Core from DTS-HD streams.
 
virtual bool HasStereoAudioChannelCount ()
 Returns true if the AudioEngine is currently configured for stereo audio.
 
virtual bool HasHDAudioChannelCount ()
 Returns true if the AudioEngine is currently configured for HD audio (more than 5.1)
 
virtual void RegisterAudioCallback (IAudioCallback *pCallback)
 
virtual void UnregisterAudioCallback (IAudioCallback *pCallback)
 
virtual bool SupportsQualityLevel (enum AEQuality level)
 Returns true if AudioEngine supports specified quality level.
 
virtual bool IsSettingVisible (const std::string &settingId)
 AE decides whether this settings should be displayed.
 
virtual void KeepConfiguration (unsigned int millis)
 Instruct AE to keep configuration for a specified time.
 
virtual void DeviceChange ()
 Instruct AE to re-initialize, e.g. after ELD change event.
 
virtual void DeviceCountChange (const std::string &driver)
 Instruct AE to re-initialize, e.g. after ELD change event.
 
virtual bool GetCurrentSinkFormat (AEAudioFormat &SinkFormat)
 Get the current sink data format.
 

Protected Member Functions

 IAE ()=default
 
virtual ~IAE ()=default
 
virtual void Start ()=0
 Initializes the AudioEngine, called by CFactory when it is time to initialize the audio engine.
 

Friends

class IAEStreamDeleter
 
class IAESoundDeleter
 
struct ADDON::Interface_AudioEngine
 

Detailed Description

IAE Interface.

Member Typedef Documentation

◆ SoundPtr

using IAE::SoundPtr = std::unique_ptr<IAESound, IAESoundDeleter>

◆ StreamPtr

using IAE::StreamPtr = std::unique_ptr<IAEStream, IAEStreamDeleter>

Constructor & Destructor Documentation

◆ IAE()

IAE::IAE ( )
protecteddefault

◆ ~IAE()

virtual IAE::~IAE ( )
protectedvirtualdefault

Member Function Documentation

◆ DeviceChange()

virtual void IAE::DeviceChange ( )
inlinevirtual

Instruct AE to re-initialize, e.g. after ELD change event.

Reimplemented in ActiveAE::CActiveAE.

◆ DeviceCountChange()

virtual void IAE::DeviceCountChange ( const std::string & driver)
inlinevirtual

Instruct AE to re-initialize, e.g. after ELD change event.

Reimplemented in ActiveAE::CActiveAE.

◆ EnumerateOutputDevices()

virtual void IAE::EnumerateOutputDevices ( AEDeviceList & devices,
bool passthrough )
pure virtual

Enumerate the supported audio output devices.

Parameters
devicesThe device list to append supported devices to
passthroughTrue if only passthrough devices are wanted

Implemented in ActiveAE::CActiveAE.

◆ GetCurrentSinkFormat()

virtual bool IAE::GetCurrentSinkFormat ( AEAudioFormat & SinkFormat)
inlinevirtual

Get the current sink data format.

Parameters
Currentsink data format. For more details see AEAudioFormat.
Returns
Returns true on success, else false.

Reimplemented in ActiveAE::CActiveAE.

◆ GetVolume()

virtual float IAE::GetVolume ( )
pure virtual

Returns the current master volume level of the AudioEngine.

Returns
The volume level between 0.0 and 1.0

Implemented in ActiveAE::CActiveAE.

◆ HasHDAudioChannelCount()

virtual bool IAE::HasHDAudioChannelCount ( )
inlinevirtual

Returns true if the AudioEngine is currently configured for HD audio (more than 5.1)

Returns
true if the AudioEngine is currently configured for HD audio (more than 5.1)

Reimplemented in ActiveAE::CActiveAE.

◆ HasStereoAudioChannelCount()

virtual bool IAE::HasStereoAudioChannelCount ( )
inlinevirtual

Returns true if the AudioEngine is currently configured for stereo audio.

Returns
true if the AudioEngine is currently configured for stereo audio

Reimplemented in ActiveAE::CActiveAE.

◆ IsMuted()

virtual bool IAE::IsMuted ( )
pure virtual

Get the current mute state.

Returns
The current mute state

Implemented in ActiveAE::CActiveAE.

◆ IsSettingVisible()

virtual bool IAE::IsSettingVisible ( const std::string & settingId)
inlinevirtual

AE decides whether this settings should be displayed.

Returns
true if AudioEngine wants to display this setting

Reimplemented in ActiveAE::CActiveAE.

◆ IsSuspended()

virtual bool IAE::IsSuspended ( )
inlinevirtual

Get the current Suspend() state.

Used by players to determine if audio is being processed Default is true so players drop audio or pause if engine unloaded

Returns
True if processing suspended

Reimplemented in ActiveAE::CActiveAE.

◆ KeepConfiguration()

virtual void IAE::KeepConfiguration ( unsigned int millis)
inlinevirtual

Instruct AE to keep configuration for a specified time.

Parameters
millistime for which old configuration should be kept

Reimplemented in ActiveAE::CActiveAE.

◆ MakeSound()

virtual SoundPtr IAE::MakeSound ( const std::string & file)
pure virtual

Creates a new IAESound that is ready to play the specified file.

Parameters
fileThe WAV file to load, this supports XBMC's VFS
Returns
A new IAESound if the file could be loaded, otherwise NULL

Implemented in ActiveAE::CActiveAE.

◆ MakeStream()

virtual StreamPtr IAE::MakeStream ( AEAudioFormat & audioFormat,
unsigned int options = 0,
IAEClockCallback * clock = NULL )
pure virtual

Creates and returns a new IAEStream in the format specified, this function should never fail.

The cleanup behaviour can be modified with the IAEStreamDeleter::setFinish method. Per default the behaviour is the same as calling FreeStream with true.

Parameters
audioFormat
optionsA bit field of stream options (see: enum AEStreamOptions)
Returns
a new IAEStream that will accept data in the requested format

Implemented in ActiveAE::CActiveAE.

◆ RegisterAudioCallback()

virtual void IAE::RegisterAudioCallback ( IAudioCallback * pCallback)
inlinevirtual

Reimplemented in ActiveAE::CActiveAE.

◆ Resume()

virtual bool IAE::Resume ( )
pure virtual

Resumes output and re-initializes sink.

Used to resume output from Suspend() state above

Returns
True if successful

Implemented in ActiveAE::CActiveAE.

◆ SetMute()

virtual void IAE::SetMute ( const bool enabled)
pure virtual

Set the mute state (does not affect volume level value)

Parameters
enabledThe mute state

Implemented in ActiveAE::CActiveAE.

◆ SetVolume()

virtual void IAE::SetVolume ( const float volume)
pure virtual

Sets the master volume level of the AudioEngine.

Parameters
volumeThe new volume level between 0.0 and 1.0

Implemented in ActiveAE::CActiveAE.

◆ Shutdown()

virtual void IAE::Shutdown ( )
inlinevirtual

Called when the application needs to terminate the engine.

Reimplemented in ActiveAE::CActiveAE.

◆ Start()

virtual void IAE::Start ( )
protectedpure virtual

Initializes the AudioEngine, called by CFactory when it is time to initialize the audio engine.

Do not call this directly, CApplication will call this when it is ready

Implemented in ActiveAE::CActiveAE.

◆ SupportsQualityLevel()

virtual bool IAE::SupportsQualityLevel ( enum AEQuality level)
inlinevirtual

Returns true if AudioEngine supports specified quality level.

Returns
true if specified quality level is supported, otherwise false

Reimplemented in ActiveAE::CActiveAE.

◆ SupportsRaw()

virtual bool IAE::SupportsRaw ( AEAudioFormat & format)
inlinevirtual

Returns true if the AudioEngine supports AE_FMT_RAW streams for use with formats such as IEC61937.

See also
CAEPackIEC61937::CAEPackIEC61937()
Returns
true if the AudioEngine is capable of RAW output

Reimplemented in ActiveAE::CActiveAE.

◆ SupportsSilenceTimeout()

virtual bool IAE::SupportsSilenceTimeout ( )
inlinevirtual

Returns true if the AudioEngine supports drain mode which is not streaming silence when idle.

Returns
true if the AudioEngine is capable of drain mode

Reimplemented in ActiveAE::CActiveAE.

◆ Suspend()

virtual bool IAE::Suspend ( )
pure virtual

Suspends output and de-initializes sink.

Used to avoid conflicts with external players or to reduce power consumption

Returns
True if successful

Implemented in ActiveAE::CActiveAE.

◆ UnregisterAudioCallback()

virtual void IAE::UnregisterAudioCallback ( IAudioCallback * pCallback)
inlinevirtual

Reimplemented in ActiveAE::CActiveAE.

◆ UsesDtsCoreFallback()

virtual bool IAE::UsesDtsCoreFallback ( )
inlinevirtual

Returns true if the AudioEngine is currently configured to extract the DTS Core from DTS-HD streams.

Returns
true if the AudioEngine is currently configured to extract the DTS Core from DTS-HD streams

Reimplemented in ActiveAE::CActiveAE.

Friends And Related Symbol Documentation

◆ ADDON::Interface_AudioEngine

friend struct ADDON::Interface_AudioEngine
friend

◆ IAESoundDeleter

friend class IAESoundDeleter
friend

◆ IAEStreamDeleter

friend class IAEStreamDeleter
friend

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