11 #include "cores/AudioEngine/Utils/AEAudioFormat.h" 21 #include <libavutil/samplefmt.h> 24 typedef std::pair<std::string, std::string> AEDevice;
25 typedef std::vector<AEDevice> AEDeviceList;
39 struct Interface_AudioEngine;
43 #define AE_SOUND_OFF 0 44 #define AE_SOUND_IDLE 1 45 #define AE_SOUND_ALWAYS 2 48 #define AE_CONFIG_FIXED 1 49 #define AE_CONFIG_AUTO 2 50 #define AE_CONFIG_MATCH 3 54 AE_QUALITY_UNKNOWN = -1,
55 AE_QUALITY_DEFAULT = 0,
63 AE_QUALITY_REALLYHIGH = 100,
71 uint64_t channel_layout;
86 virtual ~
IAE() =
default;
93 virtual void Start() = 0;
95 using StreamPtr = std::unique_ptr<IAEStream, IAEStreamDeleter>;
96 using SoundPtr = std::unique_ptr<IAESound, IAESoundDeleter>;
110 virtual bool Suspend() = 0;
119 virtual bool Resume() = 0;
136 virtual float GetVolume() = 0;
143 virtual void SetVolume(
const float volume) = 0;
150 virtual void SetMute(
const bool enabled) = 0;
157 virtual bool IsMuted() = 0;
170 unsigned int options = 0,
179 virtual SoundPtr MakeSound(
const std::string& file) = 0;
187 virtual void EnumerateOutputDevices(AEDeviceList &devices,
bool passthrough) = 0;
228 virtual void UnregisterAudioCallback(
IAudioCallback* pCallback) {}
283 virtual bool FreeStream(
IAEStream* stream,
bool finish) = 0;
290 virtual void FreeSound(
IAESound* sound) = 0;
302 void setFinish(
bool finish) { m_finish = finish; }
306 m_iae->FreeStream(stream, m_finish);
321 m_iae->FreeSound(sound);
virtual bool HasStereoAudioChannelCount()
Returns true if the AudioEngine is currently configured for stereo audio.
Definition: AE.h:217
virtual bool SupportsQualityLevel(enum AEQuality level)
Returns true if AudioEngine supports specified quality level.
Definition: AE.h:235
Definition: AEStreamInfo.h:22
Callback interface for VideoPlayer clock needed by AE for sync.
Definition: AEStream.h:23
virtual bool SupportsRaw(AEAudioFormat &format)
Returns true if the AudioEngine supports AE_FMT_RAW streams for use with formats such as IEC61937...
Definition: AE.h:196
Definition: IAudioCallback.h:15
IAEStream Stream Interface for streaming audio.
Definition: AEStream.h:52
Definition: AudioEngine.h:19
virtual bool GetCurrentSinkFormat(AEAudioFormat &SinkFormat)
Get the current sink data format.
Definition: AE.h:267
virtual void DeviceCountChange(const std::string &driver)
Instruct AE to re-initialize, e.g. after ELD change event.
Definition: AE.h:259
virtual bool HasHDAudioChannelCount()
Returns true if the AudioEngine is currently configured for HD audio (more than 5.1)
Definition: AE.h:224
virtual bool IsSettingVisible(const std::string &settingId)
AE decides whether this settings should be displayed.
Definition: AE.h:242
virtual void KeepConfiguration(unsigned int millis)
Instruct AE to keep configuration for a specified time.
Definition: AE.h:249
virtual void Shutdown()
Called when the application needs to terminate the engine.
Definition: AE.h:101
virtual void DeviceChange()
Instruct AE to re-initialize, e.g. after ELD change event.
Definition: AE.h:254
IAE Interface.
Definition: AE.h:81
virtual bool IsSuspended()
Get the current Suspend() state.
Definition: AE.h:129
virtual bool UsesDtsCoreFallback()
Returns true if the AudioEngine is currently configured to extract the DTS Core from DTS-HD streams...
Definition: AE.h:210
virtual bool SupportsSilenceTimeout()
Returns true if the AudioEngine supports drain mode which is not streaming silence when idle...
Definition: AE.h:203