this repo has no description
1#ifndef AUDIOQUEUEOUTPUT_H
2#define AUDIOQUEUEOUTPUT_H
3#include "AudioQueueBase.h"
4
5class AudioQueueOutput : public AudioQueue
6{
7public:
8 AudioQueueOutput(const AudioStreamBasicDescription *inFormat,
9 AudioQueueOutputCallback inCallbackProc,
10 void *inUserData, CFRunLoopRef inCallbackRunLoop,
11 CFStringRef inCallbackRunLoopMode, UInt32 inFlags);
12
13 virtual ~AudioQueueOutput();
14
15 virtual OSStatus start(const AudioTimeStamp *inStartTime) override;
16 virtual OSStatus prime(UInt32 inNumberOfFramesToPrepare, UInt32 *outNumberOfFramesPrepared) override;
17 virtual OSStatus flush() override;
18 virtual OSStatus stop(Boolean inImmediate) override;
19 virtual OSStatus pause() override;
20 virtual OSStatus reset() override;
21
22 virtual OSStatus setOfflineRenderFormat(const AudioStreamBasicDescription *inFormat, const AudioChannelLayout *inLayout) override;
23 virtual OSStatus offlineRender(const AudioTimeStamp *inTimestamp, AudioQueueBufferRef ioBuffer, UInt32 inNumberFrames) override;
24
25 virtual OSStatus dispose(Boolean inImmediate) override;
26
27 static OSStatus create(const AudioStreamBasicDescription *inFormat,
28 AudioQueueOutputCallback inCallbackProc,
29 void *inUserData, CFRunLoopRef inCallbackRunLoop,
30 CFStringRef inCallbackRunLoopMode, UInt32 inFlags,
31 AudioQueueOutput** newQueue);
32private:
33 AudioQueueOutputCallback m_callback;
34};
35
36#endif /* AUDIOQUEUEOUTPUT_H */
37