]> git.pld-linux.org Git - packages/xine-lib.git/commitdiff
- runtime devfs detection instead of linux/config.h-based
authorJakub Bogusz <qboosh@pld-linux.org>
Wed, 31 Dec 2003 03:32:12 +0000 (03:32 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    xine-lib-devfs.patch -> 1.1

xine-lib-devfs.patch [new file with mode: 0644]

diff --git a/xine-lib-devfs.patch b/xine-lib-devfs.patch
new file mode 100644 (file)
index 0000000..af47fe9
--- /dev/null
@@ -0,0 +1,70 @@
+--- xine-lib-1-rc3a/src/audio_out/audio_oss_out.c.orig 2003-12-14 23:13:22.000000000 +0100
++++ xine-lib-1-rc3a/src/audio_out/audio_oss_out.c      2003-12-31 02:07:58.260704624 +0100
+@@ -57,10 +57,8 @@
+ #   include <sys/soundcard.h>
+ #  endif
+ #else
+-# if defined(__linux__)
+-#  include <linux/config.h> /* Check for DEVFS */
+-# endif
+ # include <sys/soundcard.h>
++# include <sys/stat.h>
+ #endif
+ #include <sys/ioctl.h>
+ #include <inttypes.h>
+@@ -108,11 +106,8 @@
+ #define OSS_SYNC_SOFTSYNC     3
+ #define OSS_SYNC_PROBEBUFFER  4
+-#ifdef CONFIG_DEVFS_FS
+-#define DSP_TEMPLATE "/dev/sound/dsp%d"
+-#else
+-#define DSP_TEMPLATE "/dev/dsp%d"
+-#endif
++#define DSP_TEMPLATE_DEVFS "/dev/sound/dsp%d"
++#define DSP_TEMPLATE_DEV "/dev/dsp%d"
+ typedef struct oss_driver_s {
+@@ -684,17 +679,15 @@
+   config_values_t *config = class->config;
+   oss_driver_t    *this;
+   int              caps;
+-#ifdef CONFIG_DEVFS_FS
+   char             devname[] = "/dev/sound/dsp\0\0\0";
+-#else
+-  char             devname[] = "/dev/dsp\0\0\0";
+-#endif
+   int              best_rate;
+   int              rate ;
+   int              devnum;
+   int              audio_fd;
+   int              num_channels, bits, status, arg;
+   static char     *sync_methods[] = {"auto", "getodelay", "getoptr", "softsync", "probebuffer", NULL};
++  struct stat      statbuf;
++  int              havedevfs = 0;
+   
+   this = (oss_driver_t *) xine_xmalloc (sizeof (oss_driver_t));
+@@ -709,8 +702,11 @@
+                                _("/dev/dsp# device to use for oss output, -1 => auto_detect"),
+                                NULL, 10, NULL, NULL);
++  if (!stat("/dev/sound", &statbuf) && (statbuf.st_mode & S_IFDIR))
++    havedevfs = 1;
++
+   if (devnum >= 0) {
+-    sprintf (this->audio_dev, DSP_TEMPLATE, devnum);
++    sprintf (this->audio_dev, (havedevfs ? DSP_TEMPLATE_DEVFS : DSP_TEMPLATE_DEV), devnum);
+     devnum = 30; /* skip while loop */
+   } else {
+     devnum = 0;
+@@ -738,7 +734,7 @@
+            this->audio_dev, strerror(errno));
+            */
+-    sprintf(devname, DSP_TEMPLATE, devnum);
++    sprintf(devname, (havedevfs ? DSP_TEMPLATE_DEVFS : DSP_TEMPLATE_DEV), devnum);
+     devnum++;
+   }
This page took 0.066813 seconds and 4 git commands to generate.