summaryrefslogtreecommitdiff
path: root/src/audio_out
diff options
context:
space:
mode:
Diffstat (limited to 'src/audio_out')
-rw-r--r--src/audio_out/audio_alsa_out.c7
-rw-r--r--src/audio_out/audio_oss_out.c10
2 files changed, 13 insertions, 4 deletions
diff --git a/src/audio_out/audio_alsa_out.c b/src/audio_out/audio_alsa_out.c
index 4dcf98ae2..0ac30a2e0 100644
--- a/src/audio_out/audio_alsa_out.c
+++ b/src/audio_out/audio_alsa_out.c
@@ -26,7 +26,7 @@
* (c) 2001 James Courtier-Dutton <James@superbug.demon.co.uk>
*
*
- * $Id: audio_alsa_out.c,v 1.66 2002/07/01 11:45:25 pmhahn Exp $
+ * $Id: audio_alsa_out.c,v 1.67 2002/07/01 13:51:26 miguelfreitas Exp $
*/
#ifdef HAVE_CONFIG_H
@@ -942,7 +942,12 @@ ao_driver_t *init_audio_out_plugin (config_values_t *config) {
printf ("audio_alsa_out: access type not available");
return NULL;
}
+
this->capabilities = 0;
+
+ if ( !(snd_pcm_hw_params_set_format(this->audio_fd, params, SND_PCM_FORMAT_U8)))
+ this->capabilities |= AO_CAP_8BITS;
+
printf ("audio_alsa_out : supported modes are ");
if (!(snd_pcm_hw_params_test_channels(this->audio_fd, params, 1))) {
this->capabilities |= AO_CAP_MODE_MONO;
diff --git a/src/audio_out/audio_oss_out.c b/src/audio_out/audio_oss_out.c
index dedff1aa4..af1264a7a 100644
--- a/src/audio_out/audio_oss_out.c
+++ b/src/audio_out/audio_oss_out.c
@@ -17,7 +17,7 @@
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
*
- * $Id: audio_oss_out.c,v 1.69 2002/06/13 18:36:26 tmattern Exp $
+ * $Id: audio_oss_out.c,v 1.70 2002/07/01 13:51:27 miguelfreitas Exp $
*
* 20-8-2001 First implementation of Audio sync and Audio driver separation.
* Copyright (C) 2001 James Courtier-Dutton James@superbug.demon.co.uk
@@ -622,7 +622,7 @@ ao_driver_t *init_audio_out_plugin (config_values_t *config) {
int rate ;
int devnum;
int audio_fd;
- int num_channels, status, arg;
+ int num_channels, bits, status, arg;
static char *sync_methods[] = {"auto", "getodelay", "getoptr", "softsync", "probebuffer", NULL};
this = (oss_driver_t *) malloc (sizeof (oss_driver_t));
@@ -775,7 +775,11 @@ ao_driver_t *init_audio_out_plugin (config_values_t *config) {
NULL, NULL);
this->capabilities = 0;
-
+
+ bits = 8;
+ if( ioctl(audio_fd, SNDCTL_DSP_SAMPLESIZE,&bits) != -1 )
+ this->capabilities |= AO_CAP_8BITS;
+
printf ("audio_oss_out : supported modes are ");
num_channels = 1;
status = ioctl(audio_fd, SNDCTL_DSP_CHANNELS, &num_channels);