11 #include "cores/AudioEngine/Interfaces/AESink.h"    12 #include "cores/AudioEngine/Sinks/osx/CoreAudioDevice.h"    13 #include "cores/AudioEngine/Utils/AEDeviceInfo.h"    21   const char* GetName()
 override { 
return "DARWINOSX"; }
    26   static void Register();
    27   static void EnumerateDevicesEx(AEDeviceInfoList &list, 
bool force);
    28   static std::unique_ptr<IAESink> Create(std::string& device, 
AEAudioFormat& desiredFormat);
    31   void Deinitialize() 
override;
    34   double GetCacheTotal() 
override;
    35   unsigned int AddPackets(uint8_t** data, 
unsigned int frames, 
unsigned int offset) 
override;
    36   void Drain() 
override;
    39   static OSStatus renderCallback(AudioDeviceID inDevice, 
const AudioTimeStamp* inNow, 
const AudioBufferList* inInputData, 
const AudioTimeStamp* inInputTime, AudioBufferList* outOutputData, 
const AudioTimeStamp* inOutputTime, 
void* inClientData);
    40   void SetHogMode(
bool on);
    46   unsigned int m_latentFrames = 0;
    47   unsigned int m_outputBufferIndex = 0;
    49   bool m_outputBitstream =
    51   unsigned int m_planes = 1; 
    52   unsigned int m_frameSizePerPlane = 0; 
    53   unsigned int m_framesPerSecond = 0; 
    56   volatile bool m_started =
    60   volatile int64_t m_render_tick = 0;
    61   volatile double m_render_delay = 0.0;
 This classt provides the details of what the audio output hardware is capable of. ...
Definition: AEDeviceInfo.h:31
bool Initialize(AEAudioFormat &format, std::string &device) override
Definition: AESinkDARWINOSX.cpp:181
Definition: AESinkDARWINOSX.h:18
Definition: CoreAudioStream.h:23
Definition: CoreAudioDevice.h:25
lockless consistency guaranteeer 
Definition: AEUtil.h:54
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
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: AESinkDARWINOSX.cpp:422
void GetDelay(AEDelayStatus &status) override
Return a timestamped status structure with delay and sink info. 
Definition: AESinkDARWINOSX.cpp:391