AEAudioThreadEndpoint.h
Go to the documentation of this file.
1 //
2 // AEAudioThreadEndpoint.h
3 // TheAmazingAudioEngine
4 //
5 // Created by Michael Tyson on 29/04/2016.
6 // Copyright © 2016 A Tasty Pixel. All rights reserved.
7 //
8 
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 #import <Foundation/Foundation.h>
14 #import "AETime.h"
15 
25 typedef void (^AEAudioThreadEndpointHandler)(const void * _Nullable data, size_t length);
26 
40 @interface AEAudioThreadEndpoint : NSObject
41 
47 - (instancetype _Nullable)initWithHandler:(AEAudioThreadEndpointHandler _Nonnull)handler;
48 
56 - (instancetype _Nullable)initWithHandler:(AEAudioThreadEndpointHandler _Nonnull)handler bufferCapacity:(size_t)bufferCapacity;
57 
66 void AEAudioThreadEndpointPoll(__unsafe_unretained AEAudioThreadEndpoint * _Nonnull endpoint);
67 
78 - (BOOL)sendBytes:(const void * _Nullable)bytes length:(size_t)length;
79 
90 - (void * _Nullable)createMessageWithLength:(size_t)length;
91 
95 - (void)dispatchMessage;
96 
103 - (void)beginMessageGroup;
104 
108 - (void)endMessageGroup;
109 
110 @end
111 
112 #ifdef __cplusplus
113 }
114 #endif