diff options
Diffstat (limited to 'drivers/alsa/audio_driver_alsa.cpp')
-rw-r--r-- | drivers/alsa/audio_driver_alsa.cpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/alsa/audio_driver_alsa.cpp b/drivers/alsa/audio_driver_alsa.cpp index ea0cba6c52..3fd85733e0 100644 --- a/drivers/alsa/audio_driver_alsa.cpp +++ b/drivers/alsa/audio_driver_alsa.cpp @@ -37,6 +37,12 @@ #include <errno.h> +#ifdef PULSEAUDIO_ENABLED +extern "C" { +extern int initialize_pulse(); +} +#endif + Error AudioDriverALSA::init_device() { mix_rate = GLOBAL_GET("audio/mix_rate"); speaker_mode = SPEAKER_MODE_STEREO; @@ -147,6 +153,16 @@ Error AudioDriverALSA::init_device() { } Error AudioDriverALSA::init() { +#ifdef PULSEAUDIO_ENABLED + // On pulse enabled systems Alsa will silently use pulse. + // It doesn't matter if this fails as that likely means there is no pulse + initialize_pulse(); +#endif + + if (initialize_asound()) { + return ERR_CANT_OPEN; + } + active = false; thread_exited = false; exit_thread = false; |