mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 14:53:52 +00:00
27 lines
752 B
C++
27 lines
752 B
C++
#pragma once
|
|
|
|
#include "HostAudioChannel.h"
|
|
#include "IGpAudioChannelCallbacks.h"
|
|
|
|
struct IGpAudioChannel;
|
|
|
|
class GpPLGlueAudioChannel final : public PortabilityLayer::HostAudioChannel, public IGpAudioChannelCallbacks
|
|
{
|
|
public:
|
|
void SetClientAudioChannelContext(PortabilityLayer::ClientAudioChannelContext *context) override;
|
|
void PostBuffer(const void *buffer, size_t bufferSize) override;
|
|
void Stop() override;
|
|
void Destroy() override;
|
|
|
|
void NotifyBufferFinished() override;
|
|
|
|
static GpPLGlueAudioChannel *Create(IGpAudioChannel *audioChannel);
|
|
|
|
private:
|
|
explicit GpPLGlueAudioChannel(IGpAudioChannel *audioChannel);
|
|
~GpPLGlueAudioChannel();
|
|
|
|
PortabilityLayer::ClientAudioChannelContext *m_clientContext;
|
|
IGpAudioChannel *m_audioChannel;
|
|
};
|