From f94ff2fd01b23fb1d1d0014ed7b69571eaa6f274 Mon Sep 17 00:00:00 2001 From: SteffeyDev Date: Sun, 12 Apr 2020 18:37:16 -0400 Subject: [PATCH] Fixing crash when no audio mixer --- atemOSC/AppDelegate.mm | 44 +++++++++++++++++++++--------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/atemOSC/AppDelegate.mm b/atemOSC/AppDelegate.mm index e79b6c8..2834bc3 100644 --- a/atemOSC/AppDelegate.mm +++ b/atemOSC/AppDelegate.mm @@ -482,33 +482,33 @@ - (void)switcherConnected if (SUCCEEDED(mSwitcher->QueryInterface(IID_IBMDSwitcherAudioMixer, (void**)&mAudioMixer))) { mAudioMixer->AddCallback(mAudioMixerMonitor); - } - else - { - [self logMessage:@"Could not get IBMDSwitcherAudioMixer interface"]; - } - - // Audio Inputs - IBMDSwitcherAudioInputIterator* audioInputIterator = NULL; - if (SUCCEEDED(mAudioMixer->CreateIterator(IID_IBMDSwitcherAudioInputIterator, (void**)&audioInputIterator))) - { - IBMDSwitcherAudioInput* audioInput = NULL; - while (S_OK == audioInputIterator->Next(&audioInput)) + + // Audio Inputs + IBMDSwitcherAudioInputIterator* audioInputIterator = NULL; + if (SUCCEEDED(mAudioMixer->CreateIterator(IID_IBMDSwitcherAudioInputIterator, (void**)&audioInputIterator))) { - BMDSwitcherAudioInputId inputId; - audioInput->GetAudioInputId(&inputId); - mAudioInputs.insert(std::make_pair(inputId, audioInput)); - AudioInputMonitor *monitor = new AudioInputMonitor(self, inputId); - audioInput->AddCallback(monitor); - mMonitors.push_back(monitor); - mAudioInputMonitors.insert(std::make_pair(inputId, monitor)); + IBMDSwitcherAudioInput* audioInput = NULL; + while (S_OK == audioInputIterator->Next(&audioInput)) + { + BMDSwitcherAudioInputId inputId; + audioInput->GetAudioInputId(&inputId); + mAudioInputs.insert(std::make_pair(inputId, audioInput)); + AudioInputMonitor *monitor = new AudioInputMonitor(self, inputId); + audioInput->AddCallback(monitor); + mMonitors.push_back(monitor); + mAudioInputMonitors.insert(std::make_pair(inputId, monitor)); + } + audioInputIterator->Release(); + audioInputIterator = NULL; + } + else + { + [self logMessage:[NSString stringWithFormat:@"Could not create IBMDSwitcherAudioInputIterator iterator. code: %d", HRESULT_CODE(result)]]; } - audioInputIterator->Release(); - audioInputIterator = NULL; } else { - [self logMessage:[NSString stringWithFormat:@"Could not create IBMDSwitcherAudioInputIterator iterator. code: %d", HRESULT_CODE(result)]]; + [self logMessage:@"Could not get IBMDSwitcherAudioMixer interface"]; } // Hyperdeck Setup