I don’t know any workarounds :/ > On 2018. Feb 10., at 2:37, Christopher Baine <christopherba...@gmail.com> > wrote: > > Thanks for responding Tamas. I will definitely report the bug. Would there be > any work-arounds to this issue? Is there a way to change the default device > if it is an aggregate prior to instantiating an AVAudioEngine? > Chris > > On Fri, Feb 9, 2018 at 2:58 PM, Tamas Nagy <tamas.lov.n...@gmail.com > <mailto:tamas.lov.n...@gmail.com>> wrote: > This is a known issue - at least DTS confirmed this is an AVFoundation bug - > , exists from 10.10 Yosemite if I can recall. Please report it at > bugreporter.apple.com <http://bugreporter.apple.com/>. I’ve reported it > around 6 months ago, but nothing really happened since then. The more bug > reports to more chance this will be fixed in 10.14. > > Thanks! > > >> On 2018. Feb 9., at 20:53, Christopher Baine <christopherba...@gmail.com >> <mailto:christopherba...@gmail.com>> wrote: >> >> Hello all, >> >> I am having an issue with AVAudioEngine starting with an Aggregate Device as >> the default output device. Below is my sample code, which works fine with >> any other output card selected. When I select an aggregate as my default >> device in the System Preferences, it crashes on the engine.connect() call. I >> am on 10.13.1, and am having the same issue on 10.12.6 >> >> >> import Cocoa >> import AVFoundation >> >> class ViewController: NSViewController { >> >> let engine = AVAudioEngine() >> let player = AVAudioPlayerNode() >> >> override func viewDidLoad() { >> super.viewDidLoad() >> >> addPlayer() >> startEngine() >> } >> >> >> func addPlayer() { >> engine.attach(player) >> engine.connect(player, to: engine.outputNode, format: nil) >> } >> >> >> func startEngine() { >> do { >> try engine.start() >> } >> catch { >> print("ERROR", error) >> } >> } >> >> >> Here is the log: >> >> 2018-02-09 13:53:53.014046-0500 TEST_AVEngineAggregate[18127:655111] [DDAgg] >> DefaultDeviceAggregate.cpp:58:GetPreferredStereoChannels: Error getting >> preferred stereo channels from device 206: 'who?' >> 2018-02-09 13:53:53.014208-0500 TEST_AVEngineAggregate[18127:655111] [DDAgg] >> DefaultDeviceAggregate.cpp:108:GetPreferredChannelLayout: Error getting >> preferred channel layout from device 206: 'who?' >> 2018-02-09 13:53:53.015634-0500 TEST_AVEngineAggregate[18127:655111] [avae] >> AVAEInternal.h:69:_AVAE_Check: required condition is false: >> [AUInterface.mm:678:EnableIO: (isInput ? auv3().canPerformInput : >> auv3().canPerformOutput)] >> 2018-02-09 13:53:53.017059-0500 TEST_AVEngineAggregate[18127:655111] >> [General] An uncaught exception was raised >> 2018-02-09 13:53:53.017075-0500 TEST_AVEngineAggregate[18127:655111] >> [General] required condition is false: isInput ? auv3().canPerformInput : >> auv3().canPerformOutput >> ... >> >> I have tried checking to see if the preferedChannelLayout, or the >> preferredStereoChannels is an issue, via: >> >> func getOutputCardPrefferedChannels(id: AudioObjectID) { >> var propAddress = AudioObjectPropertyAddress(mSelector: >> kAudioDevicePropertyPreferredChannelsForStereo, mScope: >> kAudioObjectPropertyScopeOutput, mElement: kAudioObjectPropertyElementMaster) >> var prop: Array<UInt32> = Array(repeating: 0, count: 2) >> var propertySize: UInt32 = UInt32(MemoryLayout.size(ofValue: prop)) >> let err = AudioObjectGetPropertyData(id, &propAddress, 0, nil, >> &propertySize, &prop) >> print(err, prop) >> >> } >> >> >> func getOutputCardPrefferedChannelLayout(id: AudioObjectID) { >> var propAddress = AudioObjectPropertyAddress(mSelector: >> kAudioDevicePropertyPreferredChannelLayout, mScope: >> kAudioObjectPropertyScopeOutput, mElement: kAudioObjectPropertyElementMaster) >> var prop: AudioChannelLayout = AudioChannelLayout() >> var propertySize: UInt32 = UInt32(MemoryLayout.size(ofValue: prop)) >> let err = AudioObjectGetPropertyData(id, &propAddress, 0, nil, >> &propertySize, &prop) >> print(err, prop) >> } >> >> >> >> Which prints: >> ***** AGGREGATE ******** >> >> Aggregate Device >> 0 [1, 2] >> 0 AudioChannelLayout(mChannelLayoutTag: 0, mChannelBitmap: >> __C.AudioChannelBitmap(rawValue: 0), mNumberChannelDescriptions: 4, >> mChannelDescriptions: __C.AudioChannelDescription(mChannelLabel: 4294967295, >> mChannelFlags: __C.AudioChannelFlags(rawValue: 0), mCoordinates: (0.0, 0.0, >> 0.0))) >> >> >> ****** BUILT IN OUTPUT ******** >> >> Built-in Output >> 0 [1, 2] >> 0 AudioChannelLayout(mChannelLayoutTag: 0, mChannelBitmap: >> __C.AudioChannelBitmap(rawValue: 0), mNumberChannelDescriptions: 2, >> mChannelDescriptions: __C.AudioChannelDescription(mChannelLabel: 4294967295, >> mChannelFlags: __C.AudioChannelFlags(rawValue: 0), mCoordinates: (0.0, 0.0, >> 0.0))) >> >> >> These don't throw any errors. >> >> The aggregate consists of the Built In Output, and SoundFlower 2ch. (So 4ch >> output total) I have also tried making an aggregate with only the built-in >> output as well as aggregates with other output cards, but it also crashes. >> >> Any help or thoughts on where to begin troubleshooting this would be greatly >> appreciated! >> Thanks, >> Chris >> >> _______________________________________________ >> Do not post admin requests to the list. They will be ignored. >> Coreaudio-api mailing list (Coreaudio-api@lists.apple.com >> <mailto:Coreaudio-api@lists.apple.com>) >> Help/Unsubscribe/Update your Subscription: >> https://lists.apple.com/mailman/options/coreaudio-api/tamas.lov.nagy%40gmail.com >> >> <https://lists.apple.com/mailman/options/coreaudio-api/tamas.lov.nagy%40gmail.com> >> >> This email sent to tamas.lov.n...@gmail.com <mailto:tamas.lov.n...@gmail.com> > >
_______________________________________________ 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