]> git.ipfire.org Git - thirdparty/ntp.git/commitdiff
PCM_SOUND: Check for struct snd_size - apparently it's not in Linux.
authorHarlan Stenn <stenn@ntp.org>
Sat, 2 Mar 2002 21:08:40 +0000 (16:08 -0500)
committerHarlan Stenn <stenn@ntp.org>
Sat, 2 Mar 2002 21:08:40 +0000 (16:08 -0500)
bk: 3c813f58oOPbh--u6-bdeY8pcJ8vNg

configure.in
libntp/audio.c

index 1f3709a3c682b3672297a96688d787bf399ee694..a12d13628ad66d2fe621a1291066b4f5beebfdd7 100644 (file)
@@ -426,6 +426,27 @@ if test $ac_cv_struct_sockaddr_has_sa_len = yes; then
     AC_DEFINE(HAVE_SA_LEN_IN_STRUCT_SOCKADDR)
 fi
 
+case "$ac_cv_header_machine_soundcard_h$ac_cv_header_sys_soundcard_h" in
+  *yes*)
+    AC_CACHE_CHECK([for struct snd_size], ac_cv_struct_snd_size,
+[AC_TRY_COMPILE([
+#ifdef HAVE_MACHINE_SOUNDCARD_H
+# include <machine/soundcard.h>
+#endif
+#ifdef HAVE_SYS_SOUNDCARD_H
+# include <sys/soundcard.h>
+#endif],[
+extern struct snd_size *ss;
+return ss->rec_size;],
+    ac_cv_struct_snd_size=yes,
+    ac_cv_struct_snd_size=no)
+])
+    case "$ac_cv_struct_snd_size" in
+     yes) AC_DEFINE(HAVE_STRUCT_SND_SIZE, 1,[Do we have struct snd_size?]) ;;
+    esac
+    ;;
+esac
+
 AC_CACHE_CHECK(struct clockinfo for hz, ac_cv_struct_clockinfo_has_hz,
 [AC_TRY_COMPILE([
 #include <sys/time.h>],[
index fd12c833df0b76e8c767cacc4feeec9128b618b2..7dff205b837bd0f91373c460608d00fbaa0efe68 100644 (file)
@@ -215,7 +215,9 @@ audio_init(
 #ifdef PCM_STYLE_SOUND
 # define ACTL_DEV      "/dev/mixer%d"
        char actl_dev[30];
+# ifdef HAVE_STRUCT_SND_SIZE
        struct snd_size s_size;
+# endif
        snd_chan_param s_c_p;
 #endif
        int fd;
@@ -263,6 +265,7 @@ audio_init(
        printf("audio_init: <%s> bufsiz %d\n", dname, bufsiz);
        rval = fd;
 
+# ifdef HAVE_STRUCT_SND_SIZE
        if (ioctl(fd, AIOGSIZE, &s_size) == -1)
            printf("audio_init: AIOGSIZE: %s\n", strerror(errno));
        else
@@ -278,6 +281,7 @@ audio_init(
        else
            printf("audio_init: set:  play_size %d, rec_size %d\n",
                s_size.play_size, s_size.rec_size);
+# endif /* HAVE_STRUCT_SND_SIZE */
 
        if (ioctl(fd, AIOGFMT, &s_c_p) == -1)
            printf("audio_init: AIOGFMT: %s\n", strerror(errno));