diff --git a/chromium/media/audio/linux/audio_manager_linux.cc b/chromium/media/audio/linux/audio_manager_linux.cc
index 5d703549372..9e60b40c749 100644
--- media/audio/linux/audio_manager_linux.cc
+++ media/audio/linux/audio_manager_linux.cc
@@ -20,6 +20,10 @@
 #include "media/audio/pulse/audio_manager_pulse.h"
 #include "media/audio/pulse/pulse_util.h"
 #endif
+#if defined(USE_SNDIO)
+#include <sndio.h>
+#include "media/audio/openbsd/audio_manager_openbsd.h"
+#endif
 
 namespace media {
 
@@ -27,7 +31,8 @@ enum LinuxAudioIO {
   kPulse,
   kAlsa,
   kCras,
-  kAudioIOMax = kCras  // Must always be equal to largest logged entry.
+  kSndio,
+  kAudioIOMax = kSndio  // Must always be equal to largest logged entry.
 };
 
 std::unique_ptr<media::AudioManager> CreateAudioManager(
@@ -41,6 +46,17 @@ std::unique_ptr<media::AudioManager> CreateAudioManager(
   }
 #endif
 
+#if defined(USE_SNDIO)
+  struct sio_hdl * hdl = NULL;
+  if ((hdl=sio_open(SIO_DEVANY, SIO_PLAY, 1)) != NULL) {
+    sio_close(hdl);
+    UMA_HISTOGRAM_ENUMERATION("Media.LinuxAudioIO", kSndio, kAudioIOMax +1);
+    return std::make_unique<AudioManagerOpenBSD>(std::move(audio_thread),
+                                               audio_log_factory);
+  }
+  DVLOG(1) << "Sndio is not available on the OS";
+#endif
+
 #if defined(USE_PULSEAUDIO)
   pa_threaded_mainloop* pa_mainloop = nullptr;
   pa_context* pa_context = nullptr;
