Merge pull request #20986 from marcelofg55/audio_dummy

Add Dummy AudioDriver into the AudioDriverManager list
This commit is contained in:
Rémi Verschelde 2018-08-14 09:38:41 +02:00 committed by GitHub
commit 0386054b4c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -143,14 +143,19 @@ AudioDriver::AudioDriver() {
#endif
}
AudioDriver *AudioDriverManager::drivers[MAX_DRIVERS];
int AudioDriverManager::driver_count = 0;
AudioDriverDummy AudioDriverManager::dummy_driver;
AudioDriver *AudioDriverManager::drivers[MAX_DRIVERS] = {
&AudioDriverManager::dummy_driver,
};
int AudioDriverManager::driver_count = 1;
void AudioDriverManager::add_driver(AudioDriver *p_driver) {
ERR_FAIL_COND(driver_count >= MAX_DRIVERS);
drivers[driver_count++] = p_driver;
drivers[driver_count - 1] = p_driver;
// Last driver is always our dummy driver
drivers[driver_count++] = &AudioDriverManager::dummy_driver;
}
int AudioDriverManager::get_driver_count() {
@ -183,14 +188,6 @@ void AudioDriverManager::initialize(int p_driver) {
return;
}
}
// Fallback to our dummy driver
if (dummy_driver.init() == OK) {
ERR_PRINT("AudioDriverManager: all drivers failed, falling back to dummy driver");
dummy_driver.set_singleton();
} else {
ERR_PRINT("AudioDriverManager: dummy driver failed to init()");
}
}
AudioDriver *AudioDriverManager::get_driver(int p_driver) {