$OpenBSD: patch-src_modules_module-detect_c,v 1.9 2015/03/15 08:45:10 ajacoutot Exp $
--- src/modules/module-detect.c.orig	Thu Feb 12 15:10:35 2015
+++ src/modules/module-detect.c	Mon Feb 16 14:45:37 2015
@@ -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>
@@ -46,7 +50,9 @@ PA_MODULE_DESCRIPTION("Detect available audio hardware
 PA_MODULE_VERSION(PACKAGE_VERSION);
 PA_MODULE_LOAD_ONCE(true);
 PA_MODULE_USAGE("just-one=<boolean>");
+#ifdef __linux__
 PA_MODULE_DEPRECATED("Please use module-udev-detect instead of module-detect!");
+#endif
 
 static const char* const valid_modargs[] = {
     "just-one",
@@ -203,6 +209,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) {
     /*
@@ -244,6 +263,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.");
