annotate libao2/audio_out_internal.h @ 29491:99eda963d27a

Fix incorrect channel ordering for lavc audio codecs (specifically ffac3, ffdca, ffflac, ffaac, fftruehd). In the process, adds support for 32-bit samples.
author tack
date Tue, 18 Aug 2009 22:24:36 +0000
parents f92673eb6683
children 9d4720deada1
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
28343
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
1 /*
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
2 * This file is part of MPlayer.
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
3 *
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
4 * MPlayer is free software; you can redistribute it and/or modify
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
5 * it under the terms of the GNU General Public License as published by
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
6 * the Free Software Foundation; either version 2 of the License, or
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
7 * (at your option) any later version.
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
8 *
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
9 * MPlayer is distributed in the hope that it will be useful,
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
12 * GNU General Public License for more details.
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
13 *
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
14 * You should have received a copy of the GNU General Public License along
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
15 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
17 */
e45b08f2f5d3 Add standard license headers.
diego
parents: 26029
diff changeset
18
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
19 #ifndef MPLAYER_AUDIO_OUT_INTERNAL_H
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
20 #define MPLAYER_AUDIO_OUT_INTERNAL_H
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
21
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
22 // prototypes:
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
23 //static ao_info_t info;
9633
12b1790038b0 64bit libao2 fix by Jens Axboe <mplayer-dev@kernel.dk>
alex
parents: 3095
diff changeset
24 static int control(int cmd, void *arg);
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
25 static int init(int rate,int channels,int format,int flags);
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 9633
diff changeset
26 static void uninit(int immed);
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 9633
diff changeset
27 static void reset(void);
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 9633
diff changeset
28 static int get_space(void);
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
29 static int play(void* data,int len,int flags);
17566
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 9633
diff changeset
30 static float get_delay(void);
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 9633
diff changeset
31 static void audio_pause(void);
f580a7755ac5 Patch by Stefan Huehner / stefan % huehner ! org \
rathann
parents: 9633
diff changeset
32 static void audio_resume(void);
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
33
28824
f92673eb6683 Make audio_out_* structs const so they end up in .rodata
reimar
parents: 28343
diff changeset
34 #define LIBAO_EXTERN(x) const ao_functions_t audio_out_##x =\
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
35 {\
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
36 &info,\
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
37 control,\
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
38 init,\
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
39 uninit,\
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
40 reset,\
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
41 get_space,\
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
42 play,\
1038
b36fb1ae4b53 applied solaris8/netbsd/other fixes patch by J¸«ärgen Keil <jk@tools.de>
arpi_esp
parents: 954
diff changeset
43 get_delay,\
b36fb1ae4b53 applied solaris8/netbsd/other fixes patch by J¸«ärgen Keil <jk@tools.de>
arpi_esp
parents: 954
diff changeset
44 audio_pause,\
b36fb1ae4b53 applied solaris8/netbsd/other fixes patch by J¸«ärgen Keil <jk@tools.de>
arpi_esp
parents: 954
diff changeset
45 audio_resume\
954
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
46 };
db20b90dd34d audio out drivers
arpi_esp
parents:
diff changeset
47
26029
4129c8cfa742 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25553
diff changeset
48 #endif /* MPLAYER_AUDIO_OUT_INTERNAL_H */