MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / loadBuffer

Function loadBuffer

src/Audio/src/AudioEngine.cpp:222–239  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

220 // Buffer management
221
222 BufferId loadBuffer(std::span<const uint8_t> pcmData, const AudioFormat& format)
223 {
224 uint32_t id = 0;
225 alGenBuffers(1, &id);
226 _alBuffers.push_back(id);
227
228 ALenum alFormat;
229 if (format.channels > 1)
230 {
231 alFormat = (format.bitsPerSample == 8) ? AL_FORMAT_STEREO8 : AL_FORMAT_STEREO16;
232 }
233 else
234 {
235 alFormat = (format.bitsPerSample == 8) ? AL_FORMAT_MONO8 : AL_FORMAT_MONO16;
236 }
237 alBufferData(id, alFormat, pcmData.data(), static_cast<ALsizei>(pcmData.size()), format.sampleRate);
238 return static_cast<BufferId>(id);
239 }
240
241 void unloadBuffer(BufferId buffer)
242 {

Callers 2

loadSoundFromWaveMemoryFunction · 0.85
loadMusicSampleFunction · 0.85

Calls 3

push_backMethod · 0.80
dataMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected