$OpenBSD: patch-src_modules_module-detect_c,v 1.10 2016/06/28 08:47:18 ajacoutot Exp $
--- src/modules/module-detect.c.orig	Tue May 10 14:28:04 2016
+++ src/modules/module-detect.c	Tue Jun 28 09:57:18 2016
@@ -32,6 +32,10 @@
 #include <sys/types.h>
 #include <sys/stat.h>
 
+#ifdef __OpenBSD__
+#include <sndio.h>
+#endif
+
 #include <pulsecore/core-error.h>
 #include <pulsecore/module.h>
 #include <pulsecore/modargs.h>
@@ -206,6 +210,19 @@ static int detect_solaris(pa_core *c, int just_one) {
 }
 #endif
 
+#ifdef __OpenBSD__
+static int detect_sndio(pa_core *c, int just_one) {
+    char args[64];
+
+    pa_snprintf(args, sizeof(args), "device=%s", SIO_DEVANY);
+
+    if (!pa_module_load(c, "module-sndio", args))
+        return 0;
+
+    return 1;
+}
+#endif
+
 #ifdef OS_IS_WIN32
 static int detect_waveout(pa_core *c, int just_one) {
     /*
@@ -247,6 +264,9 @@ int pa__init(pa_module*m) {
 #endif
 #ifdef OS_IS_WIN32
     if ((n = detect_waveout(m->core, just_one)) <= 0)
+#endif
+#ifdef __OpenBSD__
+    if ((n = detect_sndio(m->core, just_one)) <= 0)
 #endif
     {
         pa_log_warn("failed to detect any sound hardware.");
