Mercurial > sdl-ios-xcode
comparison src/audio/SDL_audiodev.c @ 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 | c121d94672cb |
children | 2c5387c0a642 |
comparison
equal
deleted
inserted
replaced
3808:e630f5fe29d8 | 3809:7852b5b78af5 |
---|---|
97 path[maxlen - 1] = '\0'; | 97 path[maxlen - 1] = '\0'; |
98 } | 98 } |
99 return (audio_fd); | 99 return (audio_fd); |
100 } | 100 } |
101 | 101 |
102 #elif SDL_AUDIO_DRIVER_PAUD | |
103 | |
104 /* Get the name of the audio device we use for output */ | |
105 | |
106 #include <sys/types.h> | |
107 #include <sys/stat.h> | |
108 | |
109 #include "SDL_stdinc.h" | |
110 #include "SDL_audiodev_c.h" | |
111 | |
112 #ifndef _PATH_DEV_DSP | |
113 #define _PATH_DEV_DSP "/dev/%caud%c/%c" | |
114 #endif | |
115 | |
116 char devsettings[][3] = { | |
117 {'p', '0', '1'}, {'p', '0', '2'}, {'p', '0', '3'}, {'p', '0', '4'}, | |
118 {'p', '1', '1'}, {'p', '1', '2'}, {'p', '1', '3'}, {'p', '1', '4'}, | |
119 {'p', '2', '1'}, {'p', '2', '2'}, {'p', '2', '3'}, {'p', '2', '4'}, | |
120 {'p', '3', '1'}, {'p', '3', '2'}, {'p', '3', '3'}, {'p', '3', '4'}, | |
121 {'b', '0', '1'}, {'b', '0', '2'}, {'b', '0', '3'}, {'b', '0', '4'}, | |
122 {'b', '1', '1'}, {'b', '1', '2'}, {'b', '1', '3'}, {'b', '1', '4'}, | |
123 {'b', '2', '1'}, {'b', '2', '2'}, {'b', '2', '3'}, {'b', '2', '4'}, | |
124 {'b', '3', '1'}, {'b', '3', '2'}, {'b', '3', '3'}, {'b', '3', '4'}, | |
125 {'\0', '\0', '\0'} | |
126 }; | |
127 | |
128 static int | |
129 OpenUserDefinedDevice(char *path, int maxlen, int flags) | |
130 { | |
131 const char *audiodev; | |
132 int audio_fd; | |
133 | |
134 /* Figure out what our audio device is */ | |
135 if ((audiodev = SDL_getenv("SDL_PATH_DSP")) == NULL) { | |
136 audiodev = SDL_getenv("AUDIODEV"); | |
137 } | |
138 if (audiodev == NULL) { | |
139 return -1; | |
140 } | |
141 audio_fd = open(audiodev, flags, 0); | |
142 if (path != NULL) { | |
143 SDL_strlcpy(path, audiodev, maxlen); | |
144 path[maxlen - 1] = '\0'; | |
145 } | |
146 return audio_fd; | |
147 } | |
148 | |
149 int | |
150 SDL_OpenAudioPath(char *path, int maxlen, int flags, int classic) | |
151 { | |
152 struct stat sb; | |
153 int audio_fd; | |
154 char audiopath[1024]; | |
155 int cycle; | |
156 | |
157 audio_fd = OpenUserDefinedDevice(path, maxlen, flags); | |
158 if (audio_fd != -1) { | |
159 return audio_fd; | |
160 } | |
161 | |
162 cycle = 0; | |
163 while (devsettings[cycle][0] != '\0') { | |
164 SDL_snprintf(audiopath, SDL_arraysize(audiopath), | |
165 _PATH_DEV_DSP, | |
166 devsettings[cycle][0], | |
167 devsettings[cycle][1], devsettings[cycle][2]); | |
168 | |
169 if (stat(audiopath, &sb) == 0) { | |
170 audio_fd = open(audiopath, flags, 0); | |
171 if (audio_fd > 0) { | |
172 if (path != NULL) { | |
173 SDL_strlcpy(path, audiopath, maxlen); | |
174 } | |
175 return audio_fd; | |
176 } | |
177 } | |
178 } | |
179 return -1; | |
180 } | |
181 | |
182 #endif /* Audio driver selection */ | 102 #endif /* Audio driver selection */ |
183 /* vi: set ts=4 sw=4 expandtab: */ | 103 /* vi: set ts=4 sw=4 expandtab: */ |