Bläddra i källkod

Merge pull request #9713 from marcelofg55/master

Fix for possible crash in OS X audio init.
Rémi Verschelde 8 år sedan
förälder
incheckning
e5aa8546ec
1 ändrade filer med 4 tillägg och 3 borttagningar
  1. 4 3
      platform/osx/audio_driver_osx.cpp

+ 4 - 3
platform/osx/audio_driver_osx.cpp

@@ -60,13 +60,14 @@ Error AudioDriverOSX::initDevice() {
 
 
 	zeromem(&desc, sizeof(desc));
 	zeromem(&desc, sizeof(desc));
 	desc.componentType = kAudioUnitType_Output;
 	desc.componentType = kAudioUnitType_Output;
-	desc.componentSubType = 0; /* !!! FIXME: ? */
-	comp = AudioComponentFindNext(NULL, &desc);
+	desc.componentSubType = kAudioUnitSubType_HALOutput;
 	desc.componentManufacturer = kAudioUnitManufacturer_Apple;
 	desc.componentManufacturer = kAudioUnitManufacturer_Apple;
 
 
+	comp = AudioComponentFindNext(NULL, &desc);
+	ERR_FAIL_COND_V(comp == NULL, FAILED);
+
 	result = AudioComponentInstanceNew(comp, &audio_unit);
 	result = AudioComponentInstanceNew(comp, &audio_unit);
 	ERR_FAIL_COND_V(result != noErr, FAILED);
 	ERR_FAIL_COND_V(result != noErr, FAILED);
-	ERR_FAIL_COND_V(comp == NULL, FAILED);
 
 
 	result = AudioUnitSetProperty(audio_unit, kAudioUnitProperty_StreamFormat, scope, bus, &strdesc, sizeof(strdesc));
 	result = AudioUnitSetProperty(audio_unit, kAudioUnitProperty_StreamFormat, scope, bus, &strdesc, sizeof(strdesc));
 	ERR_FAIL_COND_V(result != noErr, FAILED);
 	ERR_FAIL_COND_V(result != noErr, FAILED);