Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Rubberduckycooly
GitHub Repository: Rubberduckycooly/RSDKv5-Decompilation
Path: blob/master/RSDKv5/RSDK/Audio/Oboe/OboeAudioDevice.hpp
1185 views
1
#define LockAudioDevice() pthread_mutex_lock(&AudioDevice::mutex);
2
#define UnlockAudioDevice() pthread_mutex_unlock(&AudioDevice::mutex);
3
4
#include <oboe/Oboe.h>
5
6
namespace RSDK
7
{
8
struct AudioDevice : public AudioDeviceBase, public oboe::AudioStreamDataCallback, public oboe::AudioStreamErrorCallback {
9
static bool32 Init();
10
static void Release();
11
12
static void FrameInit();
13
14
static void HandleStreamLoad(ChannelInfo *channel, bool32 async);
15
16
static pthread_mutex_t mutex;
17
18
oboe::DataCallbackResult onAudioReady(oboe::AudioStream *s, void *data, int32 len);
19
void onErrorAfterClose(oboe::AudioStream *s, oboe::Result error);
20
21
private:
22
static uint8 contextInitialized;
23
static oboe::Result status;
24
static oboe::AudioStream *stream;
25
26
static AudioDevice *audioDevice; // can't believe i have to do this
27
28
static void InitAudioChannels();
29
static void InitMixBuffer() {}
30
31
static void *LoadStreamASync(void *channel)
32
{
33
LoadStream((ChannelInfo *)channel);
34
pthread_exit(NULL);
35
};
36
37
static bool createStream();
38
static bool shutdownStream();
39
};
40
} // namespace RSDK
41
42