mirror of
https://github.com/RPCS3/rpcs3.git
synced 2025-04-20 19:45:20 +00:00
cellAudio: move some stuff to cpp
This commit is contained in:
parent
e6b4655142
commit
68466f05b6
8 changed files with 50 additions and 19 deletions
|
@ -49,6 +49,16 @@ CubebBackend::~CubebBackend()
|
|||
#endif
|
||||
}
|
||||
|
||||
bool CubebBackend::Initialized()
|
||||
{
|
||||
return m_ctx != nullptr;
|
||||
}
|
||||
|
||||
bool CubebBackend::Operational()
|
||||
{
|
||||
return m_ctx != nullptr && m_stream != nullptr && !m_reset_req.observe();
|
||||
}
|
||||
|
||||
void CubebBackend::Open(AudioFreq freq, AudioSampleSize sample_size, AudioChannelCnt ch_cnt)
|
||||
{
|
||||
if (m_ctx == nullptr) return;
|
||||
|
|
|
@ -21,8 +21,8 @@ public:
|
|||
static const u32 capabilities = 0;
|
||||
u32 GetCapabilities() const override { return capabilities; }
|
||||
|
||||
bool Initialized() override { return m_ctx != nullptr; }
|
||||
bool Operational() override { return m_ctx != nullptr && m_stream != nullptr && !m_reset_req.observe(); }
|
||||
bool Initialized() override;
|
||||
bool Operational() override;
|
||||
|
||||
void Open(AudioFreq freq, AudioSampleSize sample_size, AudioChannelCnt ch_cnt) override;
|
||||
void Close() override;
|
||||
|
|
|
@ -120,6 +120,16 @@ void FAudioBackend::Close()
|
|||
CloseUnlocked();
|
||||
}
|
||||
|
||||
bool FAudioBackend::Initialized()
|
||||
{
|
||||
return m_instance != nullptr;
|
||||
}
|
||||
|
||||
bool FAudioBackend::Operational()
|
||||
{
|
||||
return m_instance != nullptr && m_source_voice != nullptr && !m_reset_req.observe();
|
||||
}
|
||||
|
||||
void FAudioBackend::Open(AudioFreq freq, AudioSampleSize sample_size, AudioChannelCnt ch_cnt)
|
||||
{
|
||||
if (m_instance == nullptr) return;
|
||||
|
|
|
@ -24,8 +24,8 @@ public:
|
|||
static const u32 capabilities = SET_FREQUENCY_RATIO;
|
||||
u32 GetCapabilities() const override { return capabilities; }
|
||||
|
||||
bool Initialized() override { return m_instance != nullptr; }
|
||||
bool Operational() override { return m_instance != nullptr && m_source_voice != nullptr && !m_reset_req.observe(); }
|
||||
bool Initialized() override;
|
||||
bool Operational() override;
|
||||
|
||||
void Open(AudioFreq freq, AudioSampleSize sample_size, AudioChannelCnt ch_cnt) override;
|
||||
void Close() override;
|
||||
|
|
|
@ -74,9 +74,17 @@ XAudio2Backend::~XAudio2Backend()
|
|||
}
|
||||
}
|
||||
|
||||
bool XAudio2Backend::Initialized()
|
||||
{
|
||||
return m_xaudio2_instance != nullptr;
|
||||
}
|
||||
|
||||
bool XAudio2Backend::Operational()
|
||||
{
|
||||
if (m_dev_listener.output_device_changed()) m_reset_req = true;
|
||||
if (m_dev_listener.output_device_changed())
|
||||
{
|
||||
m_reset_req = true;
|
||||
}
|
||||
|
||||
return m_xaudio2_instance != nullptr && m_source_voice != nullptr && !m_reset_req.observe();
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ public:
|
|||
static const u32 capabilities = SET_FREQUENCY_RATIO;
|
||||
u32 GetCapabilities() const override { return capabilities; }
|
||||
|
||||
bool Initialized() override { return m_xaudio2_instance != nullptr; }
|
||||
bool Initialized() override;
|
||||
bool Operational() override;
|
||||
|
||||
void Open(AudioFreq freq, AudioSampleSize sample_size, AudioChannelCnt ch_cnt) override;
|
||||
|
|
|
@ -648,7 +648,8 @@ void cell_audio_thread::operator()()
|
|||
m_backend_failed = true;
|
||||
continue;
|
||||
}
|
||||
else if (m_backend_failed)
|
||||
|
||||
if (m_backend_failed)
|
||||
{
|
||||
cellAudio.warning("Backend recovered");
|
||||
m_backend_failed = false;
|
||||
|
@ -904,6 +905,19 @@ void cell_audio_thread::operator()()
|
|||
ringbuffer.reset();
|
||||
}
|
||||
|
||||
audio_port* cell_audio_thread::open_port()
|
||||
{
|
||||
for (u32 i = 0; i < AUDIO_PORT_COUNT; i++)
|
||||
{
|
||||
if (ports[i].state.compare_and_swap_test(audio_port_state::closed, audio_port_state::opened))
|
||||
{
|
||||
return &ports[i];
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
template <audio_downmix downmix>
|
||||
void cell_audio_thread::mix(float *out_buffer, s32 offset)
|
||||
{
|
||||
|
|
|
@ -419,18 +419,7 @@ public:
|
|||
|
||||
void operator()();
|
||||
|
||||
audio_port* open_port()
|
||||
{
|
||||
for (u32 i = 0; i < AUDIO_PORT_COUNT; i++)
|
||||
{
|
||||
if (ports[i].state.compare_and_swap_test(audio_port_state::closed, audio_port_state::opened))
|
||||
{
|
||||
return &ports[i];
|
||||
}
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
audio_port* open_port();
|
||||
|
||||
bool has_capability(u32 cap) const
|
||||
{
|
||||
|
|
Loading…
Add table
Reference in a new issue