Files
LuaCsForBarotraumaEP/Libraries/webm_mem_playback/webm_mem_playback/AudioDecoder.cpp
2020-03-04 13:04:10 +01:00

16 lines
531 B
C++

#include "AudioDecoder.h"
OpusAudioDecoder::OpusAudioDecoder(int smpRate, int channels) {
int errorCode = OPUS_OK;
sampleRate = smpRate; channelCount = channels;
decoder = opus_decoder_create(sampleRate, channelCount, &errorCode);
}
OpusAudioDecoder::~OpusAudioDecoder() {
opus_decoder_destroy(decoder);
}
int OpusAudioDecoder::decode(uint8_t* compressedBuf, int compressedSize, int16_t* outBuf, int outSize) {
return opus_decode(decoder, compressedBuf, compressedSize, outBuf, outSize / channelCount, 0) * channelCount;
}