2018-09-13 13:23:06 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <Limelight.h>
|
|
|
|
|
|
|
|
class IAudioRenderer
|
|
|
|
{
|
|
|
|
public:
|
|
|
|
virtual ~IAudioRenderer() {}
|
|
|
|
|
|
|
|
virtual bool prepareForPlayback(const OPUS_MULTISTREAM_CONFIGURATION* opusConfig) = 0;
|
|
|
|
|
2019-05-02 04:27:41 +00:00
|
|
|
virtual void* getAudioBuffer(int* size) = 0;
|
|
|
|
|
2018-10-02 08:21:42 +00:00
|
|
|
// Return false if an unrecoverable error has occurred and the renderer must be reinitialized
|
2019-05-02 04:27:41 +00:00
|
|
|
virtual bool submitAudio(int bytesWritten) = 0;
|
2019-06-23 19:49:37 +00:00
|
|
|
|
|
|
|
virtual int getCapabilities() = 0;
|
2019-11-17 20:22:57 +00:00
|
|
|
|
|
|
|
virtual void remapChannels(POPUS_MULTISTREAM_CONFIGURATION) {
|
|
|
|
// Use default channel mapping:
|
|
|
|
// 0 - Front Left
|
|
|
|
// 1 - Front Right
|
|
|
|
// 2 - Center
|
|
|
|
// 3 - LFE
|
|
|
|
// 4 - Surround Left
|
|
|
|
// 5 - Surround Right
|
|
|
|
}
|
2018-09-13 13:23:06 +00:00
|
|
|
};
|