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