$OpenBSD: patch-media_audio_openbsd_audio_manager_openbsd_cc,v 1.13 2013/01/18 21:38:02 robert Exp $
--- media/audio/openbsd/audio_manager_openbsd.cc.orig	Tue Jan  8 03:40:10 2013
+++ media/audio/openbsd/audio_manager_openbsd.cc	Mon Jan 14 19:47:35 2013
@@ -4,43 +4,23 @@
 
 #include "media/audio/openbsd/audio_manager_openbsd.h"
 
-#include "base/command_line.h"
-#include "base/stl_util.h"
 #include "media/audio/audio_output_dispatcher.h"
-#if defined(USE_PULSEAUDIO)
-#include "media/audio/pulse/pulse_output.h"
-#endif
+#include "media/audio/sndio/sndio_output.h"
 #include "media/base/limits.h"
 #include "media/base/media_switches.h"
 
-#include <fcntl.h>
-
 namespace media {
 
 // Maximum number of output streams that can be open simultaneously.
-static const int kMaxOutputStreams = 50;
+static const int kMaxOutputStreams = 4;
 
-// Implementation of AudioManager.
-static bool HasAudioHardware() {
-  int fd;
-  const char *file;
-
-  if ((file = getenv("AUDIOCTLDEVICE")) == 0 || *file == '\0')
-    file = "/dev/audioctl";
-
-  if ((fd = open(file, O_RDONLY)) < 0)
-    return false;
-
-  close(fd);
+bool AudioManagerOpenBSD::HasAudioOutputDevices() {
   return true;
 }
 
-bool AudioManagerOpenBSD::HasAudioOutputDevices() {
-  return HasAudioHardware();
-}
-
 bool AudioManagerOpenBSD::HasAudioInputDevices() {
-  return HasAudioHardware();
+  // not implemented yet
+  return false;
 }
 
 AudioManagerOpenBSD::AudioManagerOpenBSD() {
@@ -53,40 +33,33 @@ AudioManagerOpenBSD::~AudioManagerOpenBSD() {
 
 AudioOutputStream* AudioManagerOpenBSD::MakeLinearOutputStream(
     const AudioParameters& params) {
-  DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format);
+  DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
   return MakeOutputStream(params);
 }
 
 AudioOutputStream* AudioManagerOpenBSD::MakeLowLatencyOutputStream(
     const AudioParameters& params) {
-  DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format);
+  DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format());
   return MakeOutputStream(params);
 }
 
 AudioInputStream* AudioManagerOpenBSD::MakeLinearInputStream(
     const AudioParameters& params, const std::string& device_id) {
-  DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format);
+  DCHECK_EQ(AudioParameters::AUDIO_PCM_LINEAR, params.format());
   NOTIMPLEMENTED();
   return NULL;
 }
 
 AudioInputStream* AudioManagerOpenBSD::MakeLowLatencyInputStream(
     const AudioParameters& params, const std::string& device_id) {
-  DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format);
+  DCHECK_EQ(AudioParameters::AUDIO_PCM_LOW_LATENCY, params.format());
   NOTIMPLEMENTED();
   return NULL;
 }
 
 AudioOutputStream* AudioManagerOpenBSD::MakeOutputStream(
     const AudioParameters& params) {
-#if defined(USE_PULSEAUDIO)
-  if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kUsePulseAudio)) {
-    return new PulseAudioOutputStream(params, this);
-  }
-#endif
-
-  NOTIMPLEMENTED();
-  return NULL;
+  return new SndioAudioOutputStream(params, this);
 }
 
 // static
