mirror of
https://github.com/elasota/Aerofoil.git
synced 2025-09-24 07:06:36 +00:00
More work. Audio driver works enough to play music now.
This commit is contained in:
38
GpD3D/GpPLGlueAudioDriver.cpp
Normal file
38
GpD3D/GpPLGlueAudioDriver.cpp
Normal file
@@ -0,0 +1,38 @@
|
||||
#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;
|
Reference in New Issue
Block a user