11 #include "cores/AudioEngine/Interfaces/AESink.h" 12 #include "cores/AudioEngine/Utils/AEDeviceInfo.h" 14 #define DO_440HZ_TONE_TEST 0 16 #if DO_440HZ_TONE_TEST 29 const char* GetName()
override {
return "DARWINIOS"; }
34 static void Register();
35 static void EnumerateDevicesEx(AEDeviceInfoList &list,
bool force);
36 static std::unique_ptr<IAESink> Create(std::string& device,
AEAudioFormat& desiredFormat);
38 bool Initialize(
AEAudioFormat& format, std::string& device)
override;
39 void Deinitialize()
override;
42 double GetCacheTotal()
override;
43 unsigned int AddPackets(uint8_t** data,
unsigned int frames,
unsigned int offset)
override;
44 void Drain()
override;
45 bool HasVolume()
override;
48 static AEDeviceInfoList m_devices;
53 #if DO_440HZ_TONE_TEST 54 SineWaveGenerator m_SineWaveGenerator;
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.
Definition: AESinkDARWINIOS.mm:712
This classt provides the details of what the audio output hardware is capable of. ...
Definition: AEDeviceInfo.h:31
void GetDelay(AEDelayStatus &status) override
Return a timestamped status structure with delay and sink info.
Definition: AESinkDARWINIOS.mm:697
Definition: AESinkDARWINIOS.mm:80
This buffer can be used by one read and one write thread at any one time without the risk of data cor...
Definition: AERingBuffer.h:29
Definition: AESinkDARWINIOS.h:26