diff options
-rw-r--r-- | ChangeLog | 11 | ||||
-rw-r--r-- | configure.ac | 20 | ||||
-rw-r--r-- | sys/oss/gstosselement.c | 29 | ||||
-rw-r--r-- | sys/oss/gstossmixer.c | 13 | ||||
-rw-r--r-- | sys/oss/gstosssink.c | 15 | ||||
-rw-r--r-- | sys/oss/gstosssrc.c | 15 | ||||
-rw-r--r-- | sys/oss/oss_probe.c | 19 |
7 files changed, 116 insertions, 6 deletions
@@ -1,3 +1,14 @@ +2004-06-07 Stephane Loeuillet <stephane.loeuillet@tiscali.fr> + + * configure.ac: OSS portability + * ext/arts/gst_arts.c: idem + * sys/oss/gstosselement.c: idem + * sys/oss/gstossmixer.c: idem + * sys/oss/gstosssink.c: idem + * sys/oss/gstosssrc.c: idem + * sys/oss/oss_probe.c: idem + - check for soundcard.h in different places for some BSD + 2004-06-07 Jan Schmidt <thaytan@mad.scientist.com> * AUTHORS: Add me to the authors file diff --git a/configure.ac b/configure.ac index f33696f0..9503b9fc 100644 --- a/configure.ac +++ b/configure.ac @@ -446,10 +446,26 @@ GST_CHECK_FEATURE(DXR3, [DXR3 hardware MPEG DVD decoder], HAVE_DXR3=no ] ) ]) -dnl *** OSS audio *** +dnl *** OSS audio *** (Linux, *BSD) translit(dnm, m, l) AM_CONDITIONAL(USE_OSS, true) GST_CHECK_FEATURE(OSS, [OSS audio], osssrc osssink, [ - AC_CHECK_HEADER(sys/soundcard.h, HAVE_OSS="yes", HAVE_OSS="no") + HAVE_OSS="yes" + dnl Linux and newer BSD versions : + AC_CHECK_HEADER(sys/soundcard.h, [ + AC_DEFINE(HAVE_OSS_INCLUDE_IN_SYS,, [Define if OSS includes are in /sys/]) + ] , [ + dnl Some old BSD versions : + AC_CHECK_HEADER(soundcard.h, [ + AC_DEFINE(HAVE_OSS_INCLUDE_IN_ROOT,, [Define if OSS includes are in /]) + ], [ + dnl Some old BSD versions : + AC_CHECK_HEADER(machine/soundcard.h, [ + AC_DEFINE(HAVE_OSS_INCLUDE_IN_MACHINE,, [Define if OSS includes are in /machine/]) + ], [ + HAVE_OSS="no" + ]) + ]) + ]) ]) dnl *** OS X audio *** diff --git a/sys/oss/gstosselement.c b/sys/oss/gstosselement.c index 4c3512f1..0e57d47f 100644 --- a/sys/oss/gstosselement.c +++ b/sys/oss/gstosselement.c @@ -29,11 +29,24 @@ #include <sys/stat.h> #include <sys/ioctl.h> #include <fcntl.h> -#include <sys/soundcard.h> #include <unistd.h> #include <errno.h> #include <string.h> +#ifdef HAVE_OSS_INCLUDE_IN_SYS +#include <sys/soundcard.h> +#else + +#ifdef HAVE_OSS_INCLUDE_IN_ROOT +#include <soundcard.h> +#else + +#include <machine/soundcard.h> + +#endif /* HAVE_OSS_INCLUDE_IN_ROOT */ + +#endif /* HAVE_OSS_INCLUDE_IN_SYS */ + #include <gst/propertyprobe/propertyprobe.h> #include "gstosselement.h" @@ -987,7 +1000,21 @@ gst_osselement_change_state (GstElement * element) #if 0 + +#ifdef HAVE_OSS_INCLUDE_IN_SYS #include <sys/soundcard.h> +#else + +#ifdef HAVE_OSS_INCLUDE_IN_ROOT +#include <soundcard.h> +#else + +#include <machine/soundcard.h> + +#endif /* HAVE_OSS_INCLUDE_IN_ROOT */ + +#endif /* HAVE_OSS_INCLUDE_IN_SYS */ + #include <unistd.h> #include <fcntl.h> #include <stdio.h> diff --git a/sys/oss/gstossmixer.c b/sys/oss/gstossmixer.c index 39b0d7c7..274d1205 100644 --- a/sys/oss/gstossmixer.c +++ b/sys/oss/gstossmixer.c @@ -30,7 +30,20 @@ #include <string.h> #include <errno.h> #include <sys/ioctl.h> + +#ifdef HAVE_OSS_INCLUDE_IN_SYS #include <sys/soundcard.h> +#else + +#ifdef HAVE_OSS_INCLUDE_IN_ROOT +#include <soundcard.h> +#else + +#include <machine/soundcard.h> + +#endif /* HAVE_OSS_INCLUDE_IN_ROOT */ + +#endif /* HAVE_OSS_INCLUDE_IN_SYS */ #include "gstossmixer.h" diff --git a/sys/oss/gstosssink.c b/sys/oss/gstosssink.c index befb57fd..1f9e6ff9 100644 --- a/sys/oss/gstosssink.c +++ b/sys/oss/gstosssink.c @@ -24,11 +24,24 @@ #include "config.h" #endif #include <sys/ioctl.h> -#include <sys/soundcard.h> #include <errno.h> #include <unistd.h> #include <string.h> +#ifdef HAVE_OSS_INCLUDE_IN_SYS +#include <sys/soundcard.h> +#else + +#ifdef HAVE_OSS_INCLUDE_IN_ROOT +#include <soundcard.h> +#else + +#include <machine/soundcard.h> + +#endif /* HAVE_OSS_INCLUDE_IN_ROOT */ + +#endif /* HAVE_OSS_INCLUDE_IN_SYS */ + #include "gstosssink.h" /* elementfactory information */ diff --git a/sys/oss/gstosssrc.c b/sys/oss/gstosssrc.c index 5b44823c..31d9fc1c 100644 --- a/sys/oss/gstosssrc.c +++ b/sys/oss/gstosssrc.c @@ -26,12 +26,25 @@ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> -#include <sys/soundcard.h> #include <sys/ioctl.h> #include <errno.h> #include <unistd.h> #include <string.h> +#ifdef HAVE_OSS_INCLUDE_IN_SYS +#include <sys/soundcard.h> +#else + +#ifdef HAVE_OSS_INCLUDE_IN_ROOT +#include <soundcard.h> +#else + +#include <machine/soundcard.h> + +#endif /* HAVE_OSS_INCLUDE_IN_ROOT */ + +#endif /* HAVE_OSS_INCLUDE_IN_SYS */ + #include <gstosssrc.h> #include <gstosselement.h> #include <gst/audio/audioclock.h> diff --git a/sys/oss/oss_probe.c b/sys/oss/oss_probe.c index 741bb4c7..5b0d1284 100644 --- a/sys/oss/oss_probe.c +++ b/sys/oss/oss_probe.c @@ -1,5 +1,8 @@ -#include <sys/soundcard.h> +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <unistd.h> #include <fcntl.h> #include <stdio.h> @@ -7,6 +10,20 @@ #include <sys/ioctl.h> #include <glib.h> +#ifdef HAVE_OSS_INCLUDE_IN_SYS +#include <sys/soundcard.h> +#else + +#ifdef HAVE_OSS_INCLUDE_IN_ROOT +#include <soundcard.h> +#else + +#include <machine/soundcard.h> + +#endif /* HAVE_OSS_INCLUDE_IN_ROOT */ + +#endif /* HAVE_OSS_INCLUDE_IN_SYS */ + typedef struct _Probe Probe; struct _Probe { |