Hello, for the sake of the list archive I'd like to add that the same problem occurs when trying to load a SoundFont into an AVAudioUnitSampler (when being invoked on a background thread). The result code is -10871 (kAudioUnitErr_InvalidFile). It can be solved with the same workaround:
// May be called in other thread than the main thread AudioUnit audioUnit = config->samplerAudioUnit; AUSamplerInstrumentData instData; instData.fileURL = url; instData.bankLSB = kAUSampler_DefaultBankLSB; instData.bankMSB = kAUSampler_DefaultMelodicBankMSB; instData.presetID = presetNo; instData.instrumentType = kInstrumentType_SF2Preset; errno = 0; // Workaround for iOS bug; AudioUnitSetProperty() may fail when invoked on different thread than main thread // Load soundfont preset by setting the kAUSamplerProperty_LoadPresetFromBank property OSStatus result; result = AudioUnitSetProperty(audioUnit, kAUSamplerProperty_LoadInstrument, kAudioUnitScope_Global, 0, &instData, sizeof(AUSamplerInstrumentData)); if (result != noErr) { DLog(@"Could not load preset %u from soundfont '%@': result=%d", presetNo, ((__bridge NSURL *)url).lastPathComponent, (int)result); } else { DLog(@"Loaded preset %u from soundfont '%@'", presetNo, ((__bridge NSURL *)url).lastPathComponent); OSAtomicTestAndSet(0, &config->presetLoaded); } Best regards, Sven > Am 14.10.2016 um 21:00 schrieb coreaudio-api-requ...@lists.apple.com: > >> I cannot promise the specific release in which this will be fixed, but the >> problem is understood, and I can tell you that if you can force ‘errno’ to >> reset to 0, any following call to MusicSequenceFileLoadData() will succeed. >> >> -DS
_______________________________________________ Do not post admin requests to the list. They will be ignored. Coreaudio-api mailing list (Coreaudio-api@lists.apple.com) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/coreaudio-api/archive%40mail-archive.com This email sent to arch...@mail-archive.com