Browse Source

Fix crash when using ALSA MIDI with PulseAudio

(cherry picked from commit 958d79828b1997fc040ebd1a3e5b63650a54193b)
Pedro J. Estébanez 4 years ago
parent
commit
843e6bbd6b
1 changed files with 8 additions and 0 deletions
  1. 8 0
      drivers/pulseaudio/audio_driver_pulseaudio.cpp

+ 8 - 0
drivers/pulseaudio/audio_driver_pulseaudio.cpp

@@ -35,6 +35,10 @@
 #include "core/os/os.h"
 #include "core/os/os.h"
 #include "core/project_settings.h"
 #include "core/project_settings.h"
 
 
+#ifdef ALSAMIDI_ENABLED
+#include "drivers/alsa/asound-so_wrap.h"
+#endif
+
 void AudioDriverPulseAudio::pa_state_cb(pa_context *c, void *userdata) {
 void AudioDriverPulseAudio::pa_state_cb(pa_context *c, void *userdata) {
 	AudioDriverPulseAudio *ad = (AudioDriverPulseAudio *)userdata;
 	AudioDriverPulseAudio *ad = (AudioDriverPulseAudio *)userdata;
 
 
@@ -273,6 +277,10 @@ Error AudioDriverPulseAudio::init() {
 	int dylibloader_verbose = 1;
 	int dylibloader_verbose = 1;
 #else
 #else
 	int dylibloader_verbose = 0;
 	int dylibloader_verbose = 0;
+#endif
+#ifdef ALSAMIDI_ENABLED
+	// If using PulseAudio with ALSA MIDI, we need to initialize ALSA as well
+	initialize_asound(dylibloader_verbose);
 #endif
 #endif
 	if (initialize_pulse(dylibloader_verbose)) {
 	if (initialize_pulse(dylibloader_verbose)) {
 		return ERR_CANT_OPEN;
 		return ERR_CANT_OPEN;