Mercurial > mplayer.hg
annotate libao2/audio_out.c @ 1725:24e75b632740
Move the sun audio driver near the start of the list of audio drivers, so
that it has priority over the 'null' driver. On solaris (without OSS
drivers), the sun audio driver is now the default audio driver.
author | jkeil |
---|---|
date | Tue, 28 Aug 2001 10:54:31 +0000 |
parents | a444bd456fcc |
children | f51307170f69 |
rev | line source |
---|---|
954 | 1 #include <stdio.h> |
2 #include <stdlib.h> | |
3 | |
4 #include "../config.h" | |
5 #include "audio_out.h" | |
1058 | 6 #include "afmt.h" |
1038
b36fb1ae4b53
applied solaris8/netbsd/other fixes patch by J¸«ärgen Keil <jk@tools.de>
arpi_esp
parents:
1032
diff
changeset
|
7 |
954 | 8 // there are some globals: |
9 int ao_samplerate=0; | |
10 int ao_channels=0; | |
11 int ao_format=0; | |
12 int ao_bps=0; | |
13 int ao_outburst=OUTBURST; // config.h default | |
14 int ao_buffersize=-1; | |
1185 | 15 char *ao_subdevice = NULL; |
954 | 16 |
1038
b36fb1ae4b53
applied solaris8/netbsd/other fixes patch by J¸«ärgen Keil <jk@tools.de>
arpi_esp
parents:
1032
diff
changeset
|
17 #ifdef USE_OSS_AUDIO |
954 | 18 extern ao_functions_t audio_out_oss; |
1038
b36fb1ae4b53
applied solaris8/netbsd/other fixes patch by J¸«ärgen Keil <jk@tools.de>
arpi_esp
parents:
1032
diff
changeset
|
19 #endif |
954 | 20 //extern ao_functions_t audio_out_ossold; |
21 extern ao_functions_t audio_out_null; | |
1007 | 22 #ifdef HAVE_ALSA5 |
23 extern ao_functions_t audio_out_alsa5; | |
24 #endif | |
1032 | 25 #ifdef HAVE_ALSA9 |
26 extern ao_functions_t audio_out_alsa9; | |
27 #endif | |
28 #ifdef HAVE_ESD | |
29 extern ao_functions_t audio_out_esd; | |
30 #endif | |
966
69b4f944ce08
Added support for sdl audio out (buggy pre-alpha).
atmosfear
parents:
954
diff
changeset
|
31 #ifdef HAVE_SDL |
69b4f944ce08
Added support for sdl audio out (buggy pre-alpha).
atmosfear
parents:
954
diff
changeset
|
32 extern ao_functions_t audio_out_sdl; |
69b4f944ce08
Added support for sdl audio out (buggy pre-alpha).
atmosfear
parents:
954
diff
changeset
|
33 #endif |
1038
b36fb1ae4b53
applied solaris8/netbsd/other fixes patch by J¸«ärgen Keil <jk@tools.de>
arpi_esp
parents:
1032
diff
changeset
|
34 #ifdef USE_SUN_AUDIO |
b36fb1ae4b53
applied solaris8/netbsd/other fixes patch by J¸«ärgen Keil <jk@tools.de>
arpi_esp
parents:
1032
diff
changeset
|
35 extern ao_functions_t audio_out_sun; |
b36fb1ae4b53
applied solaris8/netbsd/other fixes patch by J¸«ärgen Keil <jk@tools.de>
arpi_esp
parents:
1032
diff
changeset
|
36 #endif |
1107 | 37 extern ao_functions_t audio_out_pcm; |
1185 | 38 extern ao_functions_t audio_out_pss; |
954 | 39 |
40 ao_functions_t* audio_out_drivers[] = | |
41 { | |
1038
b36fb1ae4b53
applied solaris8/netbsd/other fixes patch by J¸«ärgen Keil <jk@tools.de>
arpi_esp
parents:
1032
diff
changeset
|
42 #ifdef USE_OSS_AUDIO |
954 | 43 &audio_out_oss, |
1038
b36fb1ae4b53
applied solaris8/netbsd/other fixes patch by J¸«ärgen Keil <jk@tools.de>
arpi_esp
parents:
1032
diff
changeset
|
44 #endif |
1725
24e75b632740
Move the sun audio driver near the start of the list of audio drivers, so
jkeil
parents:
1528
diff
changeset
|
45 #ifdef USE_SUN_AUDIO |
24e75b632740
Move the sun audio driver near the start of the list of audio drivers, so
jkeil
parents:
1528
diff
changeset
|
46 &audio_out_sun, |
24e75b632740
Move the sun audio driver near the start of the list of audio drivers, so
jkeil
parents:
1528
diff
changeset
|
47 #endif |
954 | 48 &audio_out_null, |
1007 | 49 #ifdef HAVE_ALSA5 |
995 | 50 &audio_out_alsa5, |
1007 | 51 #endif |
1032 | 52 #ifdef HAVE_ALSA9 |
53 &audio_out_alsa9, | |
54 #endif | |
55 #ifdef HAVE_ESD | |
56 &audio_out_esd, | |
57 #endif | |
966
69b4f944ce08
Added support for sdl audio out (buggy pre-alpha).
atmosfear
parents:
954
diff
changeset
|
58 #ifdef HAVE_SDL |
69b4f944ce08
Added support for sdl audio out (buggy pre-alpha).
atmosfear
parents:
954
diff
changeset
|
59 &audio_out_sdl, |
69b4f944ce08
Added support for sdl audio out (buggy pre-alpha).
atmosfear
parents:
954
diff
changeset
|
60 #endif |
1107 | 61 &audio_out_pcm, |
1185 | 62 // &audio_out_pss, |
954 | 63 NULL |
64 }; | |
65 | |
995 | 66 char *audio_out_format_name(int format) |
67 { | |
68 switch (format) | |
69 { | |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
70 case AFMT_MU_LAW: |
1121 | 71 return("Mu-Law"); |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
72 case AFMT_A_LAW: |
1121 | 73 return("A-Law"); |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
74 case AFMT_IMA_ADPCM: |
1121 | 75 return("Ima-ADPCM"); |
995 | 76 case AFMT_S8: |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
77 return("Signed 8-bit"); |
995 | 78 case AFMT_U8: |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
79 return("Unsigned 8-bit"); |
995 | 80 case AFMT_U16_LE: |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
81 return("Unsigned 16-bit (Little-Endian)"); |
995 | 82 case AFMT_U16_BE: |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
83 return("Unsigned 16-bit (Big-Endian)"); |
995 | 84 case AFMT_S16_LE: |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
85 return("Signed 16-bit (Little-Endian)"); |
995 | 86 case AFMT_S16_BE: |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
87 return("Unsigned 16-bit (Big-Endian)"); |
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
88 case AFMT_MPEG: |
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
89 return("MPEG (2) audio"); |
1528
a444bd456fcc
ac3/spdif patch by German Gomez Garcia <german@piraos.com>
arpi
parents:
1185
diff
changeset
|
90 case AFMT_AC3: |
a444bd456fcc
ac3/spdif patch by German Gomez Garcia <german@piraos.com>
arpi
parents:
1185
diff
changeset
|
91 return("AC3"); |
1121 | 92 /* |
93 the following two formats are not available with old linux kernel | |
94 headers (e.g. in 2.2.16) | |
95 */ | |
1058 | 96 #ifdef AFMT_S32_LE |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
97 case AFMT_S32_LE: |
1058 | 98 return("Signed 32-bit (Little-Endian)"); |
99 #endif | |
100 #ifdef AFMT_S32_BE | |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
101 case AFMT_S32_BE: |
1058 | 102 return("Signed 32-bit (Big-Endian)"); |
103 #endif | |
995 | 104 } |
1047
3239a22b956e
par kozmetikai valtoztatas, meg van ami nem :) cvs diff..
al3x
parents:
1038
diff
changeset
|
105 return("Unknown"); |
995 | 106 } |