this repo has no description
at fixPythonPipStalling 42 lines 1.8 kB view raw
1#ifndef AUDIOQUEUEBASE_H 2#define AUDIOQUEUEBASE_H 3#include "AudioQueue.h" 4 5class AudioQueue 6{ 7public: 8 AudioQueue(const AudioStreamBasicDescription* format, void* userData, 9 CFRunLoopRef runloop, CFStringRef runloopMode, UInt32 flags); 10 virtual ~AudioQueue(); 11 12 virtual OSStatus start(const AudioTimeStamp *inStartTime) = 0; 13 virtual OSStatus prime(UInt32 inNumberOfFramesToPrepare, UInt32 *outNumberOfFramesPrepared) = 0; 14 virtual OSStatus flush() = 0; 15 virtual OSStatus stop(Boolean inImmediate) = 0; 16 virtual OSStatus pause() = 0; 17 virtual OSStatus reset() = 0; 18 19 virtual OSStatus dispose(Boolean inImmediate) = 0; 20 21 virtual OSStatus getParameter(AudioQueueParameterID inParamID, AudioQueueParameterValue *outValue); 22 virtual OSStatus setParameter(AudioQueueParameterID inParamID, AudioQueueParameterValue inValue); 23 24 virtual OSStatus getProperty(AudioQueuePropertyID inID, void *outData, UInt32 *ioDataSize); 25 virtual OSStatus setProperty(AudioQueuePropertyID inID, const void *inData, UInt32 inDataSize); 26 virtual OSStatus getPropertySize(AudioQueuePropertyID inID, UInt32 *outDataSize); 27 28 OSStatus addPropertyListener(AudioQueuePropertyID inID, AudioQueuePropertyListenerProc inProc, void *inUserData); 29 OSStatus removePropertyListener(AudioQueuePropertyID inID, AudioQueuePropertyListenerProc inProc, void *inUserData); 30 31 virtual OSStatus setOfflineRenderFormat(const AudioStreamBasicDescription *inFormat, const AudioChannelLayout *inLayout) = 0; 32 virtual OSStatus offlineRender(const AudioTimeStamp *inTimestamp, AudioQueueBufferRef ioBuffer, UInt32 inNumberFrames) = 0; 33protected: 34 AudioStreamBasicDescription m_format; 35 void* m_userData; 36 CFRunLoopRef m_runloop; 37 CFStringRef m_runloopMode; 38 UInt32 m_flags; 39}; 40 41#endif /* AUDIOQUEUEBASE_H */ 42