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    30   const char* GetName()
 override { 
return "DARWINTVOS"; }
    35   static void Register();
    36   static void EnumerateDevicesEx(AEDeviceInfoList& list, 
bool force);
    37   static std::unique_ptr<IAESink> Create(std::string& device, 
AEAudioFormat& desiredFormat);
    39   bool Initialize(
AEAudioFormat& format, std::string& device) 
override;
    40   void Deinitialize() 
override;
    43   double GetCacheTotal() 
override;
    44   unsigned int AddPackets(uint8_t** data, 
unsigned int frames, 
unsigned int offset) 
override;
    45   void Drain() 
override;
    46   bool HasVolume() 
override;
    49   static AEDeviceInfoList m_devices;
    54 #if DO_440HZ_TONE_TEST    55   SineWaveGenerator m_SineWaveGenerator;
 This classt provides the details of what the audio output hardware is capable of. ...
Definition: AEDeviceInfo.h:31
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: AESinkDARWINTVOS.mm:852
void GetDelay(AEDelayStatus &status) override
Return a timestamped status structure with delay and sink info. 
Definition: AESinkDARWINTVOS.mm:837
Definition: AESinkDARWINTVOS.h:27
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