+++ /dev/null
---- 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++;
- }
-