On Sat, Dec 27, 2008 at 04:44:22PM +0100, Antoine Jacoutot wrote:
> On Sat, 27 Dec 2008, Stefan Sperling wrote:
> > Currently, I can only use it with OSS, without aucat running.
> > It has esd support but if I try to use that for multiplexing
> > (with esd running over aucat or standalone), there's no sound
> > going in nor out of ekiga. Something seems to be broken there.
> > So it's either listen to music, or be able to get phone calls,
> > but not both.
> > 
> > An update to the latest version (3.0.1) would also be nice.
> > Since I want this, I'd be willing to spend time on that.
> > 
> > ajacoutot@ is the maintainer, so I put him in Cc.
> 
> Jacob already has some patches for updating ekiga to the latest version.

yeah, but I've stalled on the updates, partly beause it's a big
project to update all the other p[tw]lib ports, and I can't
test some of them.

in the meantime, here's a sndio backend for pwlib.  you'll
have to use aucat, since pwlib uses a separate thread for
recording and playback, and it is much easier to let each
thread open connections to aucat than to add locks/private
stores/etc.

make sure you have "echo cancellation" and "silence detection"
turned of in Edit->Preferences->Codecs->Audio Codecs.  they seem
to be over agressive and cause dropouts.

-- 
[email protected]
SDF Public Access UNIX System - http://sdf.lonestar.org

Index: Makefile
===================================================================
RCS file: /home2/cvs/OpenBSD/ports/devel/pwlib/Makefile,v
retrieving revision 1.15
diff -u -r1.15 Makefile
--- Makefile    8 Sep 2008 17:17:10 -0000       1.15
+++ Makefile    27 Dec 2008 21:40:28 -0000
@@ -6,7 +6,7 @@
 
 V=             1_12_0
 DISTNAME=      ptlib-v${V}
-PKGNAME=       pwlib-${V:S/_/./g}p6
+PKGNAME=       pwlib-${V:S/_/./g}p7
 CATEGORIES=    devel
 
 EXTRACT_SUFX=  -src.tar.gz
@@ -25,7 +25,7 @@
 
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=h323plus/}
 
-WANTLIB=       crypto expat ossaudio sasl2 ssl
+WANTLIB=       crypto expat ossaudio sndio sasl2 ssl
 
 BUILD_DEPENDS= ::devel/bison
 LIB_DEPENDS=   esd.>=2::audio/esound \
@@ -59,6 +59,10 @@
                --disable-avc \
                --disable-dc \
                --disable-odbc
+
+post-patch:
+       @mkdir ${WRKSRC}/plugins/sound_libsndio
+       @cp ${FILESDIR}/{Makefile,sound_libsndio.*} 
${WRKSRC}/plugins/sound_libsndio
 
 pre-configure:
        @perl -pi -e 's,!!PREFIX!!,${PREFIX},g' \
Index: files/Makefile
===================================================================
RCS file: files/Makefile
diff -N files/Makefile
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ files/Makefile      27 Dec 2008 21:40:28 -0000
@@ -0,0 +1,10 @@
+ifndef PWLIBDIR
+PWLIBDIR = $(HOME)/pwlib
+endif
+
+PLUGIN_NAME    = libsndio
+PLUGIN_FAMILY  = device/sound
+PLUGIN_LIBS    = -lsndio
+PLUGIN_SOURCES = sound_libsndio.cxx
+
+include ../../make/plugins.mak
Index: files/sound_libsndio.cxx
===================================================================
RCS file: files/sound_libsndio.cxx
diff -N files/sound_libsndio.cxx
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ files/sound_libsndio.cxx    27 Dec 2008 21:40:28 -0000
@@ -0,0 +1,487 @@
+/*
+ * sound_libsndio.cxx
+ *
+ * Sound driver implementation.
+ *
+ * Portable Windows Library
+ *
+ * Copyright (c) 1993-1998 Equivalence Pty. Ltd.
+ *
+ * The contents of this file are subject to the Mozilla Public License
+ * Version 1.0 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
+ * the License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * The Original Code is Portable Windows Library.
+ *
+ * The Initial Developer of the Original Code is Equivalence Pty. Ltd.
+ *
+ * Portions are Copyright (C) 1993 Free Software Foundation, Inc.
+ * All Rights Reserved.
+ *
+ * $Log: sound_libsndio.cxx,v $
+ */
+
+#pragma implementation "sound_libsndio.h"
+
+#include "sound_libsndio.h"
+
+#include <sys/poll.h>
+
+PCREATE_SOUND_PLUGIN(LIBSNDIO, PSoundChannelLIBSNDIO);
+
+PSoundChannelLIBSNDIO::PSoundChannelLIBSNDIO()
+{
+  PSoundChannelLIBSNDIO::Construct();
+}
+
+
+PSoundChannelLIBSNDIO::PSoundChannelLIBSNDIO(const PString & device,
+                                        Directions dir,
+                                          unsigned numChannels,
+                                          unsigned sampleRate,
+                                          unsigned bitsPerSample)
+{
+  Construct();
+  Open(device, dir, numChannels, sampleRate, bitsPerSample);
+}
+
+
+void PSoundChannelLIBSNDIO::Construct()
+{
+  os_handle = -1;
+  hdl = NULL;
+}
+
+
+PSoundChannelLIBSNDIO::~PSoundChannelLIBSNDIO()
+{
+  Close();
+}
+
+
+PStringArray PSoundChannelLIBSNDIO::GetDeviceNames(Directions /*dir*/)
+{
+  PStringList devices;
+
+  devices.AppendString("libsndio");
+
+  return devices;
+}
+
+
+PString PSoundChannelLIBSNDIO::GetDefaultDevice(Directions dir)
+{
+  PStringArray devicenames;
+  devicenames = PSoundChannelLIBSNDIO::GetDeviceNames(dir);
+  return devicenames[0];
+}
+
+BOOL PSoundChannelLIBSNDIO::Open(const PString & device,
+                              Directions dir,
+                                unsigned numChannels,
+                                unsigned sampleRate,
+                                unsigned bitsPerSample)
+{
+  uint mode;
+
+  Close();
+
+  if (dir == Recorder)
+    mode = SIO_REC;
+  else
+    mode = SIO_PLAY;
+
+  hdl = sio_open(NULL, mode, 0);
+  if (hdl == NULL) {
+    printf("sio_open failed\n");
+    return FALSE;
+  }
+
+  mDirection     = dir;
+  mDevice        = device;
+  mSampleRate    = sampleRate;
+  mNumChannels   = numChannels;
+  mBitsPerSample = bitsPerSample;
+  mBytesPerFrame = (bitsPerSample / 8) * numChannels;
+
+  isInitialised = FALSE;
+
+  return TRUE;
+}
+
+BOOL PSoundChannelLIBSNDIO::Setup()
+{
+  if (!hdl) {
+    PTRACE(6, "LIBSNDIO\tSkipping setup of " << mDevice << " as not open");
+    return FALSE;
+  }
+
+  if (isInitialised) {
+    PTRACE(6, "LIBSNDIO\tSkipping setup of " << mDevice << " as instance 
already initialised");
+    return TRUE;
+  }
+
+  PTRACE(6, "LIBSNDIO\tInitialising " << mDevice);
+
+  sio_initpar(&par);
+
+  int framesPerFrag = mFragSize / mBytesPerFrame;
+  par.bufsz = mFragCount * framesPerFrag;
+  par.round = framesPerFrag;
+
+  par.bits = mBitsPerSample;
+  par.sig = 1;
+#if PBYTE_ORDER == PLITTLE_ENDIAN
+  par.le = 1;
+#else
+  par.le = 0;
+#endif
+
+  if (mDirection == Recorder)
+    par.rchan = mNumChannels;
+  else
+    par.pchan = mNumChannels;
+
+  par.rate = mSampleRate;
+
+  if (!sio_setpar(hdl, &par)) {
+    printf("sio_setpar failed\n");
+    return FALSE;
+  }
+
+  if (!sio_getpar(hdl, &par)) {
+    printf("sio_getpar failed\n");
+    return FALSE;
+  }
+
+  mFragSize = par.round * mBytesPerFrame;
+  mFragCount = par.bufsz / par.round;
+
+  if (!sio_start(hdl)) {
+    printf("sio_start failed\n");
+    return FALSE;
+  }
+
+  isInitialised = TRUE;
+
+  return TRUE;
+}
+
+BOOL PSoundChannelLIBSNDIO::Close()
+{
+  if (!hdl)
+    return TRUE;
+
+  sio_close(hdl);
+  hdl = NULL;
+  return PChannel::Close();
+}
+
+BOOL PSoundChannelLIBSNDIO::IsOpen() const
+{
+  return (hdl != NULL);
+}
+
+BOOL PSoundChannelLIBSNDIO::Write(const void * buf, PINDEX len)
+{
+  lastWriteCount = 0;
+
+  if (!Setup() || !hdl)
+    return FALSE;
+
+  int did, tot = 0;
+
+  while (len > 0) {
+    did = sio_write(hdl, (void *)buf, len);
+    if (did == 0) {
+      printf("sio_write failed\n");
+      return FALSE;
+    }
+    len -= did;
+    (char *)buf += did;
+    tot += did;
+  }
+  lastWriteCount += tot;
+
+  return TRUE;
+}
+
+BOOL PSoundChannelLIBSNDIO::Read(void * buf, PINDEX len)
+{
+  lastReadCount = 0;
+
+  if (!Setup() || !hdl)
+    return FALSE;
+
+  int did, tot = 0;
+
+  while (len > 0) {
+    did = sio_read(hdl, buf, len);
+    if (did == 0) {
+      printf("sio_read failed\n");
+      return FALSE;
+    }
+    len -= did;
+    (char *)buf += did;
+    tot += did;
+  }
+  lastReadCount += tot;
+
+  return TRUE;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::SetFormat(unsigned numChannels,
+                              unsigned sampleRate,
+                              unsigned bitsPerSample)
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  PAssert((bitsPerSample == 8) || (bitsPerSample == 16), PInvalidParameter);
+  PAssert(numChannels >= 1 && numChannels <= 2, PInvalidParameter);
+
+  if (isInitialised) {
+    if ((numChannels   != mNumChannels) ||
+        (sampleRate    != mSampleRate) ||
+        (bitsPerSample != mBitsPerSample)) {
+      PTRACE(6, "LIBSNDIO\tTried to change read/write format without 
stopping");
+      return FALSE;
+    }
+    return TRUE;
+  }
+
+  mNumChannels   = numChannels;
+  mSampleRate    = sampleRate;
+  mBitsPerSample = bitsPerSample;
+  isInitialised  = FALSE;
+
+  return TRUE;
+}
+
+
+unsigned PSoundChannelLIBSNDIO::GetChannels()   const
+{
+  return mNumChannels;
+}
+
+
+unsigned PSoundChannelLIBSNDIO::GetSampleRate() const
+{
+  return mSampleRate;
+}
+
+
+unsigned PSoundChannelLIBSNDIO::GetSampleSize() const
+{
+  return mBitsPerSample;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::SetBuffers(PINDEX size, PINDEX count)
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  PAssert(size > 0 && count > 0 && count < 65536, PInvalidParameter);
+
+  if (isInitialised) {
+    if (mFragSize != (unsigned)size || mFragCount != (unsigned)count) {
+      PTRACE(6, "LIBSNDIO\tTried to change buffers without stopping");
+      return FALSE;
+    }
+    return TRUE;
+  }
+
+  mFragSize = size;
+  mFragCount = count;
+  isInitialised = FALSE;
+
+  return TRUE;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::GetBuffers(PINDEX & size, PINDEX & count)
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  count = mFragCount;
+  size = mFragSize;
+
+  return TRUE;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::PlaySound(const PSound & sound, BOOL wait)
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  if (!Write((const BYTE *)sound, sound.GetSize()))
+    return FALSE;
+
+  if (wait)
+    return WaitForPlayCompletion();
+
+  return TRUE;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::PlayFile(const PFilePath & filename, BOOL wait)
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  PFile file(filename, PFile::ReadOnly);
+  if (!file.IsOpen())
+    return FALSE;
+
+  for (;;) {
+    BYTE buffer[256];
+    if (!file.Read(buffer, 256))
+      break;
+    PINDEX len = file.GetLastReadCount();
+    if (len == 0)
+      break;
+    if (!Write(buffer, len))
+      break;
+  }
+
+  file.Close();
+
+  if (wait)
+    return WaitForPlayCompletion();
+
+  return TRUE;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::HasPlayCompleted()
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  return TRUE;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::WaitForPlayCompletion()
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  return TRUE;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::RecordSound(PSound & sound)
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  return FALSE;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::RecordFile(const PFilePath & filename)
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  return FALSE;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::StartRecording()
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  return TRUE;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::IsRecordBufferFull()
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  struct pollfd pfd;
+  int events = POLLIN;
+  sio_pollfd(hdl, &pfd, events);
+  return ConvertOSError(::poll(&pfd, 1, 0));
+}
+
+
+BOOL PSoundChannelLIBSNDIO::AreAllRecordBuffersFull()
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  struct pollfd pfd;
+  int events = POLLIN;
+  sio_pollfd(hdl, &pfd, events);
+  return ConvertOSError(::poll(&pfd, 1, 0));
+}
+
+
+BOOL PSoundChannelLIBSNDIO::WaitForRecordBufferFull()
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  // return PXSetIOBlock(PXReadBlock, readTimeout);
+
+  struct pollfd pfd;
+  int events = POLLIN;
+  sio_pollfd(hdl, &pfd, events);
+  return ConvertOSError(::poll(&pfd, 1, 1000));
+}
+
+
+BOOL PSoundChannelLIBSNDIO::WaitForAllRecordBuffersFull()
+{
+  if (!hdl)
+    return SetErrorValues(NotOpen, EBADF);
+
+  struct pollfd pfd;
+  int events = POLLIN;
+  sio_pollfd(hdl, &pfd, events);
+  return ConvertOSError(::poll(&pfd, 1, 1000));
+}
+
+
+BOOL PSoundChannelLIBSNDIO::Abort()
+{
+  return TRUE;
+}
+
+
+BOOL PSoundChannelLIBSNDIO::SetVolume(unsigned newVal)
+{
+  if (!hdl)
+    return FALSE;
+
+  return FALSE;
+}
+
+
+BOOL  PSoundChannelLIBSNDIO::GetVolume(unsigned &devVol)
+{
+  if (!hdl)
+    return FALSE;
+
+  devVol = 0;
+  return FALSE;
+}
+  
+
+
+// End of file
Index: files/sound_libsndio.h
===================================================================
RCS file: files/sound_libsndio.h
diff -N files/sound_libsndio.h
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ files/sound_libsndio.h      27 Dec 2008 21:40:28 -0000
@@ -0,0 +1,66 @@
+
+#include <ptlib.h>
+#include <ptlib/sound.h>
+#include <ptlib/socket.h>
+
+#include <sndio.h>
+
+class PSoundChannelLIBSNDIO: public PSoundChannel
+{
+ public:
+    PSoundChannelLIBSNDIO();
+    void Construct();
+    PSoundChannelLIBSNDIO(const PString &device,
+                     PSoundChannel::Directions dir,
+                     unsigned numChannels,
+                     unsigned sampleRate,
+                    unsigned bitsPerSample);
+    ~PSoundChannelLIBSNDIO();
+    static PStringArray GetDeviceNames(PSoundChannel::Directions = Player);
+    static PString GetDefaultDevice(PSoundChannel::Directions);
+    BOOL Open(const PString & _device,
+              Directions _dir,
+              unsigned _numChannels,
+              unsigned _sampleRate,
+              unsigned _bitsPerSample);
+    BOOL Setup();
+    BOOL Close();
+    BOOL IsOpen() const;
+    BOOL Write(const void * buf, PINDEX len);
+    BOOL Read(void * buf, PINDEX len);
+    BOOL SetFormat(unsigned numChannels,
+                   unsigned sampleRate,
+                   unsigned bitsPerSample);
+    unsigned GetChannels() const;
+    unsigned GetSampleRate() const;
+    unsigned GetSampleSize() const;
+    BOOL SetBuffers(PINDEX size, PINDEX count);
+    BOOL GetBuffers(PINDEX & size, PINDEX & count);
+    BOOL PlaySound(const PSound & sound, BOOL wait);
+    BOOL PlayFile(const PFilePath & filename, BOOL wait);
+    BOOL HasPlayCompleted();
+    BOOL WaitForPlayCompletion();
+    BOOL RecordSound(PSound & sound);
+    BOOL RecordFile(const PFilePath & filename);
+    BOOL StartRecording();
+    BOOL IsRecordBufferFull();
+    BOOL AreAllRecordBuffersFull();
+    BOOL WaitForRecordBufferFull();
+    BOOL WaitForAllRecordBuffersFull();
+    BOOL Abort();
+    BOOL SetVolume(unsigned newVal);
+    BOOL GetVolume(unsigned &devVol);
+
+  protected:
+    struct sio_hdl *hdl;
+    struct sio_par par;
+    unsigned mNumChannels;
+    unsigned mSampleRate;
+    unsigned mBitsPerSample;
+    unsigned mFragCount;
+    unsigned mFragSize;
+    unsigned mBytesPerFrame;
+    Directions mDirection;
+    PString mDevice;
+    BOOL isInitialised;
+};
Index: patches/patch-plugins_Makefile_in
===================================================================
RCS file: patches/patch-plugins_Makefile_in
diff -N patches/patch-plugins_Makefile_in
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ patches/patch-plugins_Makefile_in   27 Dec 2008 21:40:28 -0000
@@ -0,0 +1,19 @@
+$OpenBSD$
+--- plugins/Makefile.in.orig   Sat Oct 18 23:00:39 2008
++++ plugins/Makefile.in        Sat Oct 18 23:02:10 2008
+@@ -31,6 +31,15 @@ DEFAULT_SOUND       = sound_esd
+ endif
+ endif
+ 
++HAS_LIBSNDIO  = @HAS_LIBSNDIO@
++
++ifeq (1,$(HAS_LIBSNDIO))
++SUBDIRS += sound_libsndio
++ifeq (,$(DEFAULT_SOUND))
++DEFAULT_SOUND = sound_libsndio
++endif
++endif
++
+ HAS_SUNAUDIO = @HAS_SUNAUDIO@
+ 
+ ifeq (1,$(HAS_SUNAUDIO))
Index: patches/patch-plugins_configure
===================================================================
RCS file: /home2/cvs/OpenBSD/ports/devel/pwlib/patches/patch-plugins_configure,v
retrieving revision 1.3
diff -u -r1.3 patch-plugins_configure
--- patches/patch-plugins_configure     29 Apr 2008 11:42:45 -0000      1.3
+++ patches/patch-plugins_configure     27 Dec 2008 21:40:29 -0000
@@ -1,7 +1,27 @@
 $OpenBSD: patch-plugins_configure,v 1.3 2008/04/29 11:42:45 ajacoutot Exp $
---- plugins/configure.orig     Fri Oct 19 08:22:33 2007
-+++ plugins/configure  Tue Apr 29 09:49:24 2008
-@@ -3479,7 +3479,7 @@ echo "${ECHO_T}$ac_cv_header_sys_soundcard_h" >&6
+--- plugins/configure.orig     Thu Oct 18 23:22:33 2007
++++ plugins/configure  Sat Oct 18 23:11:09 2008
+@@ -309,7 +309,7 @@ ac_includes_default="\
+ # include <unistd.h>
+ #endif"
+ 
+-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME 
PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix 
program_transform_name bindir sbindir libexecdir datadir sysconfdir 
sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir 
build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CXX CXXFLAGS 
LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT PWLIBDIR PWINSTDIR INSTALLPREFIX 
LIBDIR CC CFLAGS ac_ct_CC CPP EGREP HAS_ALSA HAS_ESD HAS_OSS HAS_SUNAUDIO 
HAS_V4L HAS_V4L2 HAS_BSDVIDEOCAP HAS_AVC1394 HAS_DC1394 DC_CFLAGS LIBOBJS 
LTLIBOBJS'
++ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME 
PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix 
program_transform_name bindir sbindir libexecdir datadir sysconfdir 
sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir 
build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CXX CXXFLAGS 
LDFLAGS CPPFLAGS ac_ct_CXX EXEEXT OBJEXT PWLIBDIR PWINSTDIR INSTALLPREFIX 
LIBDIR CC CFLAGS ac_ct_CC CPP EGREP HAS_ALSA HAS_ESD HAS_LIBSNDIO HAS_OSS 
HAS_SUNAUDIO HAS_V4L HAS_V4L2 HAS_BSDVIDEOCAP HAS_AVC1394 HAS_DC1394 DC_CFLAGS 
LIBOBJS LTLIBOBJS'
+ ac_subst_files=''
+ 
+ # Initialize some variables set by options.
+@@ -3459,6 +3459,10 @@ echo "${ECHO_T}no" >&6
+ fi
+ 
+ 
++# for now ...
++HAS_LIBSNDIO=1
++
++
+ # Check whether --enable-oss or --disable-oss was given.
+ if test "${enable_oss+set}" = set; then
+   enableval="$enable_oss"
+@@ -3479,7 +3483,7 @@ echo "${ECHO_T}$ac_cv_header_sys_soundcard_h" >&6
  else
    # Is the header compilable?
  echo "$as_me:$LINENO: checking sys/soundcard.h usability" >&5
@@ -10,7 +30,7 @@
  cat >conftest.$ac_ext <<_ACEOF
  /* confdefs.h.  */
  _ACEOF
-@@ -3487,7 +3487,7 @@ cat confdefs.h >>conftest.$ac_ext
+@@ -3487,7 +3491,7 @@ cat confdefs.h >>conftest.$ac_ext
  cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  $ac_includes_default
@@ -19,7 +39,7 @@
  _ACEOF
  rm -f conftest.$ac_objext
  if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
-@@ -3523,18 +3523,18 @@ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
+@@ -3523,18 +3527,18 @@ echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
  echo "${ECHO_T}$ac_header_compiler" >&6
  
  # Is the header present?
@@ -43,7 +63,7 @@
    ac_status=$?
    grep -v '^ *+' conftest.er1 >conftest.err
    rm -f conftest.er1
-@@ -3595,7 +3595,7 @@ _ASBOX
+@@ -3595,7 +3599,7 @@ _ASBOX
      ;;
  esac
  echo "$as_me:$LINENO: checking for sys/soundcard.h" >&5
@@ -52,7 +72,7 @@
  if test "${ac_cv_header_sys_soundcard_h+set}" = set; then
    echo $ECHO_N "(cached) $ECHO_C" >&6
  else
-@@ -3979,7 +3979,7 @@ if test "${enable_v4l2}z" = "yesz" ; then
+@@ -3979,7 +3983,7 @@ if test "${enable_v4l2}z" = "yesz" ; then
    if test "${OSTYPE}z" = "solaris2.11z"; then
      VIDEODEV="sys/videodev2.h"
    else
@@ -61,7 +81,7 @@
    fi
    as_ac_Header=`echo "ac_cv_header_$VIDEODEV" | $as_tr_sh`
  echo "$as_me:$LINENO: checking for $VIDEODEV" >&5
-@@ -4485,8 +4485,8 @@ cat >>conftest.$ac_ext <<_ACEOF
+@@ -4485,8 +4489,8 @@ cat >>conftest.$ac_ext <<_ACEOF
  /* end confdefs.h.  */
  #include <dev/ic/bt8xx.h>
  _ACEOF
@@ -72,3 +92,11 @@
    ac_status=$?
    grep -v '^ *+' conftest.er1 >conftest.err
    rm -f conftest.er1
+@@ -6059,6 +6063,7 @@ s,@CPP@,$CPP,;t t
+ s,@EGREP@,$EGREP,;t t
+ s,@HAS_ALSA@,$HAS_ALSA,;t t
+ s,@HAS_ESD@,$HAS_ESD,;t t
++s,@HAS_LIBSNDIO@,$HAS_LIBSNDIO,;t t
+ s,@HAS_OSS@,$HAS_OSS,;t t
+ s,@HAS_SUNAUDIO@,$HAS_SUNAUDIO,;t t
+ s,@HAS_V4L@,$HAS_V4L,;t t
Index: pkg/PLIST
===================================================================
RCS file: /home2/cvs/OpenBSD/ports/devel/pwlib/pkg/PLIST,v
retrieving revision 1.5
diff -u -r1.5 PLIST
--- pkg/PLIST   22 May 2008 19:25:32 -0000      1.5
+++ pkg/PLIST   27 Dec 2008 21:40:29 -0000
@@ -175,6 +175,7 @@
 lib/pwlib/devices/
 lib/pwlib/devices/sound/
 lib/pwlib/devices/sound/esd_pwplugin.so
+lib/pwlib/devices/sound/libsndio_pwplugin.so
 lib/pwlib/devices/sound/oss_pwplugin.so
 lib/pwlib/devices/videoinput/
 lib/pwlib/devices/videoinput/bsdvideo_pwplugin.so

Reply via email to