EyeAI
Loading...
Searching...
No Matches
AudioMain.hpp
Go to the documentation of this file.
1#pragma once
2
6#include <AL/al.h>
7#include <AL/alc.h>
8#include <atomic>
9#include <deque>
10#include <mutex>
11#include <vector>
12
13/*
14AudioMain handles the audio playback:
15- managing the playback of the
16 depth estimation data
17- managing the playback of the objects
18 recognized by the object detection
19Once these loops start, continues playback
20is ensured
21*/
22
23class AudioMain {
24 public:
25 explicit AudioMain(const SpatialAudioSettings& audio_settings);
26 ~AudioMain();
27
28 // Functions for playing depth estimation data
29 void startDepthAudioLoop(std::atomic<bool>& running);
31 std::vector<DepthAudioSourceData> new_audio_source_data
32 );
33
34 // Functions for playing object detection data
35 void startObjectAudioLoop(std::atomic<bool>& running);
37 const std::vector<ObjectAudioSourceData>& new_audio_source_data
38 );
39
40 private:
41 // global settings for spatial audio
42 const SpatialAudioSettings& audio_settings;
43
44 // for playing depth estimation data
45 std::vector<ALuint> sources;
46 std::vector<std::vector<ALuint>> buffers;
47 std::vector<DepthAudioSourceData> depth_audio_sources_data;
48
49 // for playing object detection data
50 std::deque<ObjectAudioSourceData> object_audio_sources_data;
51 std::vector<short> audio_labels_file_buffer;
52 std::mutex object_mutex;
53 int AUDIO_FILE_SAMPLE_RATE = 0;
54
55 ALCdevice* device = AL_NONE;
56 ALCcontext* context = AL_NONE;
57
58 void setupDepthAudioSources();
59 void loadAudioLabelsFile();
60};
~AudioMain()
Definition AudioMain.cpp:409
void changeDepthAudioData(std::vector< DepthAudioSourceData > new_audio_source_data)
Definition AudioMain.cpp:381
void startDepthAudioLoop(std::atomic< bool > &running)
Definition AudioMain.cpp:90
void startObjectAudioLoop(std::atomic< bool > &running)
Definition AudioMain.cpp:164
void changeObjectAudioData(const std::vector< ObjectAudioSourceData > &new_audio_source_data)
Definition AudioMain.cpp:388
AudioMain(const SpatialAudioSettings &audio_settings)
Definition AudioMain.cpp:30
Definition SpatialAudioSettings.hpp:18