From 006ccecb29c92781aebd8a987a0f1fa27199f41c Mon Sep 17 00:00:00 2001
From: jpbl <jpbl>
Date: Wed, 11 Jan 2006 14:53:52 +0000
Subject: [PATCH] put the new Audio stuff to be a maintener stuff
 (--enable-maintener)

---
 configure.ac                     | 17 +++++++++++++++++
 src/audio/Makefile.am            |  6 +++++-
 src/audio/OpenAL/OpenALLayer.cpp | 11 ++++++++++-
 3 files changed, 32 insertions(+), 2 deletions(-)

diff --git a/configure.ac b/configure.ac
index d85ec82a1c..bb4c7bf3c0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -163,6 +163,23 @@ fi
 sflphone_datadir=$datadir/sflphone
 AC_SUBST(sflphone_datadir)
 
+
+AC_MSG_CHECKING([whether to enable the maintener code])
+AC_ARG_ENABLE(maintener,
+[  --enable-maintener      Enable maintener code [default=no]],
+[
+CXXFLAGS="$CXXFLAGS -DENABLE_MAINTENER"
+AC_MSG_RESULT(yes)
+maintener="yes"
+],
+[
+AC_MSG_RESULT(no)
+maintener="no"
+]
+)
+AM_CONDITIONAL(MAINTENER_CODE, test x$maintener = xyes)
+
+
 AC_SUBST(LIB_DNSSD)
 AM_CONDITIONAL(USE_ZEROCONF, test "$have_libdns_sd" = "yes")	
 
diff --git a/src/audio/Makefile.am b/src/audio/Makefile.am
index d0fe8c8ee3..cbfb5d282e 100644
--- a/src/audio/Makefile.am
+++ b/src/audio/Makefile.am
@@ -1,4 +1,8 @@
-SUBDIRS = gsm pacpp OpenAL
+if MAINTENER_CODE
+maintener_directories = OpenAL
+endif
+
+SUBDIRS = gsm pacpp ${maintener_directories}
 
 noinst_LTLIBRARIES = libaudio.la
 
diff --git a/src/audio/OpenAL/OpenALLayer.cpp b/src/audio/OpenAL/OpenALLayer.cpp
index 8d3130defd..a3977a675f 100644
--- a/src/audio/OpenAL/OpenALLayer.cpp
+++ b/src/audio/OpenAL/OpenALLayer.cpp
@@ -26,6 +26,8 @@
 #include <AL/al.h>
 #include <AL/alc.h>
 
+#define DEFAULT_DEVICE_NAME "default"
+
 SFLAudio::OpenALLayer::OpenALLayer() 
   : AudioLayer("openal")
 {}
@@ -42,6 +44,10 @@ SFLAudio::OpenALLayer::getDevicesNames()
       devname += sizeof(ALCchar) * (strlen(devname) + 1);
     }
   }
+  else {
+    devices.push_back(DEFAULT_DEVICE_NAME);
+  }
+  
 
   return devices;
 
@@ -51,7 +57,10 @@ SFLAudio::Device *
 SFLAudio::OpenALLayer::openDevice()
 {
   Device *dev = new OpenALDevice();
-  if(dev->load() == false) {
+  if(dev->load()) {
+    dev->setName(DEFAULT_DEVICE_NAME);
+  }
+  else {
     delete dev;
     dev = new NullDevice();
   }
-- 
GitLab