Switching default input/output channels using Core Audio

I wrote a Swift macOS app to control a PCI audio device. The code switches between the default output and input channels. As soon as I launch the Audio-Midi Setup utility, channel switching stops working. The driver properties allow switching, but the system doesn't respond. I have to delete the contents of /Library/Preferences/Audio and reset Core Audio. What am I missing?

func setDefaultChannelsOutput() { guard let deviceID = getDeviceIDByName(deviceName: "PCI-424") else { return }

        let selectedIndex = DefaultChannelsOutput.indexOfSelectedItem
        if selectedIndex < 0 || selectedIndex >= 24 { return }
        
        let channel1 = UInt32(selectedIndex * 2 + 1)
        let channel2 = UInt32(selectedIndex * 2 + 2)
        var channels: [UInt32] = [channel1, channel2]
        
        var propertyAddress = AudioObjectPropertyAddress(
            mSelector: kAudioDevicePropertyPreferredChannelsForStereo, 
            mScope: kAudioDevicePropertyScopeOutput,
            mElement: kAudioObjectPropertyElementWildcard
        )
        
        let dataSize = UInt32(MemoryLayout<UInt32>.size * channels.count)
        let status = AudioObjectSetPropertyData(deviceID, &propertyAddress, 0, nil, dataSize, &channels)
        if status != noErr {
            print("Error setting default output channels: \(status)")
        }
    
    }
Switching default input/output channels using Core Audio
 
 
Q