mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-23 23:00:42 +00:00
39 lines
817 B
C++
39 lines
817 B
C++
#include "GpPLGlueAudioDriver.h"
|
|
|
|
#include "GpPLGlueAudioChannel.h"
|
|
#include "IGpAudioChannel.h"
|
|
#include "IGpAudioDriver.h"
|
|
|
|
GpPLGlueAudioDriver::GpPLGlueAudioDriver()
|
|
: m_audioDriver(nullptr)
|
|
{
|
|
}
|
|
|
|
PortabilityLayer::HostAudioChannel *GpPLGlueAudioDriver::CreateChannel()
|
|
{
|
|
IGpAudioChannel *channel = m_audioDriver->CreateChannel();
|
|
if (!channel)
|
|
return nullptr;
|
|
|
|
PortabilityLayer::HostAudioChannel *glueChannel = GpPLGlueAudioChannel::Create(channel);
|
|
if (!glueChannel)
|
|
{
|
|
channel->Destroy();
|
|
return nullptr;
|
|
}
|
|
|
|
return glueChannel;
|
|
}
|
|
|
|
GpPLGlueAudioDriver *GpPLGlueAudioDriver::GetInstance()
|
|
{
|
|
return &ms_instance;
|
|
}
|
|
|
|
void GpPLGlueAudioDriver::SetGpAudioDriver(IGpAudioDriver *audioDriver)
|
|
{
|
|
m_audioDriver = audioDriver;
|
|
}
|
|
|
|
GpPLGlueAudioDriver GpPLGlueAudioDriver::ms_instance;
|