changeset 3809:7852b5b78af5 SDL-ryan-multiple-audio-device

Cleaning out SDL_audiodev.c and related references ...
author Ryan C. Gordon <icculus@icculus.org>
date Thu, 05 Oct 2006 01:13:47 +0000
parents e630f5fe29d8
children 2c5387c0a642
files src/audio/SDL_audiodev.c src/audio/arts/SDL_artsaudio.c src/audio/disk/SDL_diskaudio.c src/audio/dummy/SDL_dummyaudio.c src/audio/esd/SDL_esdaudio.c src/audio/nas/SDL_nasaudio.c src/audio/paudio/SDL_paudio.c src/audio/ums/SDL_umsaudio.c
diffstat 8 files changed, 79 insertions(+), 89 deletions(-) [+]
line wrap: on
line diff
--- a/src/audio/SDL_audiodev.c	Thu Oct 05 01:06:06 2006 +0000
+++ b/src/audio/SDL_audiodev.c	Thu Oct 05 01:13:47 2006 +0000
@@ -99,85 +99,5 @@
     return (audio_fd);
 }
 
-#elif SDL_AUDIO_DRIVER_PAUD
-
-/* Get the name of the audio device we use for output */
-
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include "SDL_stdinc.h"
-#include "SDL_audiodev_c.h"
-
-#ifndef _PATH_DEV_DSP
-#define _PATH_DEV_DSP	"/dev/%caud%c/%c"
-#endif
-
-char devsettings[][3] = {
-    {'p', '0', '1'}, {'p', '0', '2'}, {'p', '0', '3'}, {'p', '0', '4'},
-    {'p', '1', '1'}, {'p', '1', '2'}, {'p', '1', '3'}, {'p', '1', '4'},
-    {'p', '2', '1'}, {'p', '2', '2'}, {'p', '2', '3'}, {'p', '2', '4'},
-    {'p', '3', '1'}, {'p', '3', '2'}, {'p', '3', '3'}, {'p', '3', '4'},
-    {'b', '0', '1'}, {'b', '0', '2'}, {'b', '0', '3'}, {'b', '0', '4'},
-    {'b', '1', '1'}, {'b', '1', '2'}, {'b', '1', '3'}, {'b', '1', '4'},
-    {'b', '2', '1'}, {'b', '2', '2'}, {'b', '2', '3'}, {'b', '2', '4'},
-    {'b', '3', '1'}, {'b', '3', '2'}, {'b', '3', '3'}, {'b', '3', '4'},
-    {'\0', '\0', '\0'}
-};
-
-static int
-OpenUserDefinedDevice(char *path, int maxlen, int flags)
-{
-    const char *audiodev;
-    int audio_fd;
-
-    /* Figure out what our audio device is */
-    if ((audiodev = SDL_getenv("SDL_PATH_DSP")) == NULL) {
-        audiodev = SDL_getenv("AUDIODEV");
-    }
-    if (audiodev == NULL) {
-        return -1;
-    }
-    audio_fd = open(audiodev, flags, 0);
-    if (path != NULL) {
-        SDL_strlcpy(path, audiodev, maxlen);
-        path[maxlen - 1] = '\0';
-    }
-    return audio_fd;
-}
-
-int
-SDL_OpenAudioPath(char *path, int maxlen, int flags, int classic)
-{
-    struct stat sb;
-    int audio_fd;
-    char audiopath[1024];
-    int cycle;
-
-    audio_fd = OpenUserDefinedDevice(path, maxlen, flags);
-    if (audio_fd != -1) {
-        return audio_fd;
-    }
-
-    cycle = 0;
-    while (devsettings[cycle][0] != '\0') {
-        SDL_snprintf(audiopath, SDL_arraysize(audiopath),
-                     _PATH_DEV_DSP,
-                     devsettings[cycle][0],
-                     devsettings[cycle][1], devsettings[cycle][2]);
-
-        if (stat(audiopath, &sb) == 0) {
-            audio_fd = open(audiopath, flags, 0);
-            if (audio_fd > 0) {
-                if (path != NULL) {
-                    SDL_strlcpy(path, audiopath, maxlen);
-                }
-                return audio_fd;
-            }
-        }
-    }
-    return -1;
-}
-
 #endif /* Audio driver selection */
 /* vi: set ts=4 sw=4 expandtab: */
--- a/src/audio/arts/SDL_artsaudio.c	Thu Oct 05 01:06:06 2006 +0000
+++ b/src/audio/arts/SDL_artsaudio.c	Thu Oct 05 01:13:47 2006 +0000
@@ -27,7 +27,6 @@
 #include "SDL_audio.h"
 #include "../SDL_audiomem.h"
 #include "../SDL_audio_c.h"
-#include "../SDL_audiodev_c.h"
 #include "SDL_artsaudio.h"
 
 #ifdef SDL_AUDIO_DRIVER_ARTS_DYNAMIC
--- a/src/audio/disk/SDL_diskaudio.c	Thu Oct 05 01:06:06 2006 +0000
+++ b/src/audio/disk/SDL_diskaudio.c	Thu Oct 05 01:13:47 2006 +0000
@@ -34,7 +34,6 @@
 #include "SDL_audio.h"
 #include "../SDL_audiomem.h"
 #include "../SDL_audio_c.h"
-#include "../SDL_audiodev_c.h"
 #include "SDL_diskaudio.h"
 
 /* The tag name used by DISK audio */
--- a/src/audio/dummy/SDL_dummyaudio.c	Thu Oct 05 01:06:06 2006 +0000
+++ b/src/audio/dummy/SDL_dummyaudio.c	Thu Oct 05 01:13:47 2006 +0000
@@ -30,7 +30,6 @@
 #include "SDL_audio.h"
 #include "../SDL_audiomem.h"
 #include "../SDL_audio_c.h"
-#include "../SDL_audiodev_c.h"
 #include "SDL_dummyaudio.h"
 
 /* The tag name used by DUMMY audio */
--- a/src/audio/esd/SDL_esdaudio.c	Thu Oct 05 01:06:06 2006 +0000
+++ b/src/audio/esd/SDL_esdaudio.c	Thu Oct 05 01:13:47 2006 +0000
@@ -33,7 +33,6 @@
 #include "SDL_audio.h"
 #include "../SDL_audiomem.h"
 #include "../SDL_audio_c.h"
-#include "../SDL_audiodev_c.h"
 #include "SDL_esdaudio.h"
 
 #ifdef SDL_AUDIO_DRIVER_ESD_DYNAMIC
--- a/src/audio/nas/SDL_nasaudio.c	Thu Oct 05 01:06:06 2006 +0000
+++ b/src/audio/nas/SDL_nasaudio.c	Thu Oct 05 01:13:47 2006 +0000
@@ -34,7 +34,6 @@
 #include "SDL_audio.h"
 #include "../SDL_audiomem.h"
 #include "../SDL_audio_c.h"
-#include "../SDL_audiodev_c.h"
 #include "SDL_nasaudio.h"
 
 /* The tag name used by artsc audio */
--- a/src/audio/paudio/SDL_paudio.c	Thu Oct 05 01:06:06 2006 +0000
+++ b/src/audio/paudio/SDL_paudio.c	Thu Oct 05 01:13:47 2006 +0000
@@ -30,13 +30,14 @@
 #include <fcntl.h>
 #include <sys/time.h>
 #include <sys/ioctl.h>
+#include <sys/types.h>
 #include <sys/stat.h>
 
 #include "SDL_timer.h"
 #include "SDL_audio.h"
+#include "SDL_stdinc.h"
 #include "../SDL_audiomem.h"
 #include "../SDL_audio_c.h"
-#include "../SDL_audiodev_c.h"
 #include "SDL_paudio.h"
 
 #define DEBUG_AUDIO 1
@@ -61,6 +62,81 @@
 static Uint8 *Paud_GetAudioBuf(_THIS);
 static void Paud_CloseAudio(_THIS);
 
+
+/* Get the name of the audio device we use for output */
+
+#ifndef _PATH_DEV_DSP
+#define _PATH_DEV_DSP	"/dev/%caud%c/%c"
+#endif
+
+static char devsettings[][3] = {
+    {'p', '0', '1'}, {'p', '0', '2'}, {'p', '0', '3'}, {'p', '0', '4'},
+    {'p', '1', '1'}, {'p', '1', '2'}, {'p', '1', '3'}, {'p', '1', '4'},
+    {'p', '2', '1'}, {'p', '2', '2'}, {'p', '2', '3'}, {'p', '2', '4'},
+    {'p', '3', '1'}, {'p', '3', '2'}, {'p', '3', '3'}, {'p', '3', '4'},
+    {'b', '0', '1'}, {'b', '0', '2'}, {'b', '0', '3'}, {'b', '0', '4'},
+    {'b', '1', '1'}, {'b', '1', '2'}, {'b', '1', '3'}, {'b', '1', '4'},
+    {'b', '2', '1'}, {'b', '2', '2'}, {'b', '2', '3'}, {'b', '2', '4'},
+    {'b', '3', '1'}, {'b', '3', '2'}, {'b', '3', '3'}, {'b', '3', '4'},
+    {'\0', '\0', '\0'}
+};
+
+static int
+OpenUserDefinedDevice(char *path, int maxlen, int flags)
+{
+    const char *audiodev;
+    int audio_fd;
+
+    /* Figure out what our audio device is */
+    if ((audiodev = SDL_getenv("SDL_PATH_DSP")) == NULL) {
+        audiodev = SDL_getenv("AUDIODEV");
+    }
+    if (audiodev == NULL) {
+        return -1;
+    }
+    audio_fd = open(audiodev, flags, 0);
+    if (path != NULL) {
+        SDL_strlcpy(path, audiodev, maxlen);
+        path[maxlen - 1] = '\0';
+    }
+    return audio_fd;
+}
+
+int
+OpenAudioPath(char *path, int maxlen, int flags, int classic)
+{
+    struct stat sb;
+    int audio_fd;
+    char audiopath[1024];
+    int cycle;
+
+    audio_fd = OpenUserDefinedDevice(path, maxlen, flags);
+    if (audio_fd != -1) {
+        return audio_fd;
+    }
+
+    cycle = 0;
+    /* !!! FIXME: do we really need a table here? */
+    while (devsettings[cycle][0] != '\0') {
+        SDL_snprintf(audiopath, SDL_arraysize(audiopath),
+                     _PATH_DEV_DSP,
+                     devsettings[cycle][0],
+                     devsettings[cycle][1], devsettings[cycle][2]);
+
+        if (stat(audiopath, &sb) == 0) {
+            audio_fd = open(audiopath, flags, 0);
+            if (audio_fd > 0) {
+                if (path != NULL) {
+                    SDL_strlcpy(path, audiopath, maxlen);
+                }
+                return audio_fd;
+            }
+        }
+    }
+    return -1;
+}
+
+
 /* Audio driver bootstrap functions */
 
 static int
@@ -70,7 +146,7 @@
     int available;
 
     available = 0;
-    fd = SDL_OpenAudioPath(NULL, 0, OPEN_FLAGS, 0);
+    fd = OpenAudioPath(NULL, 0, OPEN_FLAGS, 0);
     if (fd >= 0) {
         available = 1;
         close(fd);
@@ -255,7 +331,7 @@
     frame_ticks = 0.0;
 
     /* Open the audio device */
-    audio_fd = SDL_OpenAudioPath(audiodev, sizeof(audiodev), OPEN_FLAGS, 0);
+    audio_fd = OpenAudioPath(audiodev, sizeof(audiodev), OPEN_FLAGS, 0);
     if (audio_fd < 0) {
         SDL_SetError("Couldn't open %s: %s", audiodev, strerror(errno));
         return -1;
--- a/src/audio/ums/SDL_umsaudio.c	Thu Oct 05 01:06:06 2006 +0000
+++ b/src/audio/ums/SDL_umsaudio.c	Thu Oct 05 01:13:47 2006 +0000
@@ -36,7 +36,6 @@
 
 #include "SDL_audio.h"
 #include "../SDL_audio_c.h"
-#include "../SDL_audiodev_c.h"
 #include "SDL_umsaudio.h"
 
 /* The tag name used by UMS audio */