aboutsummaryrefslogtreecommitdiffstats
path: root/Alc/backends/coreaudio.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Alc/backends/coreaudio.cpp')
-rw-r--r--Alc/backends/coreaudio.cpp22
1 files changed, 13 insertions, 9 deletions
diff --git a/Alc/backends/coreaudio.cpp b/Alc/backends/coreaudio.cpp
index 9af370ca..82312d67 100644
--- a/Alc/backends/coreaudio.cpp
+++ b/Alc/backends/coreaudio.cpp
@@ -43,6 +43,7 @@ static const ALCchar ca_device[] = "CoreAudio Default";
struct ALCcoreAudioPlayback final : public ALCbackend {
ALCcoreAudioPlayback(ALCdevice *device) noexcept : ALCbackend{device} { }
+ ~ALCcoreAudioPlayback() override;
static OSStatus MixerProcC(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames,
@@ -80,11 +81,12 @@ static void ALCcoreAudioPlayback_Construct(ALCcoreAudioPlayback *self, ALCdevice
}
static void ALCcoreAudioPlayback_Destruct(ALCcoreAudioPlayback *self)
-{
- AudioUnitUninitialize(self->mAudioUnit);
- AudioComponentInstanceDispose(self->mAudioUnit);
+{ self->~ALCcoreAudioPlayback(); }
- self->~ALCcoreAudioPlayback();
+ALCcoreAudioPlayback::~ALCcoreAudioPlayback()
+{
+ AudioUnitUninitialize(mAudioUnit);
+ AudioComponentInstanceDispose(mAudioUnit);
}
@@ -322,6 +324,7 @@ static void ALCcoreAudioPlayback_stop(ALCcoreAudioPlayback *self)
struct ALCcoreAudioCapture final : public ALCbackend {
ALCcoreAudioCapture(ALCdevice *device) noexcept : ALCbackend{device} { }
+ ~ALCcoreAudioCapture() override;
static OSStatus RecordProcC(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags,
const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames,
@@ -363,12 +366,13 @@ static void ALCcoreAudioCapture_Construct(ALCcoreAudioCapture *self, ALCdevice *
}
static void ALCcoreAudioCapture_Destruct(ALCcoreAudioCapture *self)
-{
- if(self->mAudioUnit)
- AudioComponentInstanceDispose(self->mAudioUnit);
- self->mAudioUnit = 0;
+{ self->~ALCcoreAudioCapture(); }
- self->~ALCcoreAudioCapture();
+ALCcoreAudioCapture::~ALCcoreAudioCapture()
+{
+ if(mAudioUnit)
+ AudioComponentInstanceDispose(mAudioUnit);
+ mAudioUnit = 0;
}