1 #include "oboe/OboeExt.h"
2 
3 namespace oboe {
4   void AudioStream_delete(AudioStream *oboeStream) {
5     delete oboeStream;
6   }
7 
8   Result AudioStream_open(AudioStream *oboeStream) {
9     return oboeStream->open();
10   }
11 
12   Result AudioStream_requestStart(AudioStream *oboeStream) {
13     return oboeStream->requestStart();
14   }
15 
16   Result AudioStream_requestPause(AudioStream *oboeStream) {
17     return oboeStream->requestPause();
18   }
19 
20   Result AudioStream_requestFlush(AudioStream *oboeStream) {
21     return oboeStream->requestFlush();
22   }
23 
24   Result AudioStream_requestStop(AudioStream *oboeStream) {
25     return oboeStream->requestStop();
26   }
27 
28   StreamState AudioStream_getState(AudioStream *oboeStream) {
29     return oboeStream->getState();
30   }
31 
32   Result AudioStream_waitForStateChange(AudioStream *oboeStream,
33                                         StreamState inputState,
34                                         StreamState *nextState,
35                                         int64_t timeoutNanoseconds) {
36     return oboeStream->waitForStateChange(inputState,
37                                           nextState,
38                                           timeoutNanoseconds);
39   }
40 
41   ResultWithValue<int32_t>
42   AudioStream_setBufferSizeInFrames(AudioStream *oboeStream,
43                                     int32_t requestedFrames) {
44     return oboeStream->setBufferSizeInFrames(requestedFrames);
45   }
46 
47   ResultWithValue<int32_t>
48   AudioStream_getXRunCount(AudioStream *oboeStream) {
49     return oboeStream->getXRunCount();
50   }
51 
52   bool AudioStream_isXRunCountSupported(const AudioStream *oboeStream) {
53     return oboeStream->isXRunCountSupported();
54   }
55 
56   int32_t AudioStream_getFramesPerBurst(AudioStream *oboeStream) {
57     return oboeStream->getFramesPerBurst();
58   }
59 
60   ResultWithValue<double>
61   AudioStream_calculateLatencyMillis(AudioStream *oboeStream) {
62     return oboeStream->calculateLatencyMillis();
63   }
64 
65   AudioApi AudioStream_getAudioApi(const AudioStream *oboeStream) {
66     return oboeStream->getAudioApi();
67   }
68 
69   ResultWithValue<int32_t> AudioStream_read(AudioStream *oboeStream,
70                                             void* buffer,
71                                             int32_t numFrames,
72                                             int64_t timeoutNanoseconds) {
73     return oboeStream->read(buffer, numFrames, timeoutNanoseconds);
74   }
75 
76   ResultWithValue<int32_t> AudioStream_write(AudioStream *oboeStream,
77                                              const void* buffer,
78                                              int32_t numFrames,
79                                              int64_t timeoutNanoseconds) {
80     return oboeStream->write(buffer, numFrames, timeoutNanoseconds);
81   }
82 
83   AudioStreamBase* AudioStream_getBase(AudioStream *oboeStream) {
84     return static_cast<AudioStreamBase*>(oboeStream);
85   }
86 }
87