mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-08 23:24:19 +00:00
Revert "AudioDeviceManager: Handle loading of XML with missing fields more gracefully"
This reverts commit 3c1012baeb.
This change caused the AudioDeviceManager to open a fallback device if
the device name was empty, the requested number of channels was
positive, and selectDefaultDeviceOnFailure was true.
The new behaviour conflicted with the documented behaviour of
initialise(). The number of input/output channels is to be treated as a
maximum, rather than a preferred count. If a positive channelsNeeded is
requested but the device name is empty, a default device should not be
opened since the actual number of channels (0) is lower than the maximum
specified number.
This commit is contained in:
parent
7b9ff97ff2
commit
b1ec95db6e
1 changed files with 0 additions and 10 deletions
|
|
@ -510,16 +510,6 @@ String AudioDeviceManager::initialiseFromXML (const XmlElement& xml,
|
|||
currentDeviceType = firstType->getTypeName();
|
||||
}
|
||||
|
||||
const auto deviceNameMissing = (numInputChansNeeded > 0 && setup.inputDeviceName .isEmpty())
|
||||
|| (numOutputChansNeeded > 0 && setup.outputDeviceName.isEmpty());
|
||||
|
||||
// If there's no device name, then normally this would prevent a device from opening.
|
||||
// If failing to open a device would conflict with the number of requested channels, then we
|
||||
// pre-emptively treat this as a failure and fall back to using devices that're able to provide
|
||||
// the requested channel counts.
|
||||
if (selectDefaultDeviceOnFailure && deviceNameMissing)
|
||||
insertDefaultDeviceNames (setup);
|
||||
|
||||
setup.bufferSize = xml.getIntAttribute ("audioDeviceBufferSize", setup.bufferSize);
|
||||
setup.sampleRate = xml.getDoubleAttribute ("audioDeviceRate", setup.sampleRate);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue