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