Mercurial > mplayer.hg
annotate libmpcodecs/ad.h @ 30819:495e49af2043
Implement ResumeThread and SignalObjectAndWait.
Relatively simplistic implementations of ResumeThread (stub) and
SignalObjectAndWait (bAlertable is ignored). Both are needed for ProRes 4:2:2
support on Linux.
author | sesse |
---|---|
date | Mon, 08 Mar 2010 13:00:59 +0000 |
parents | 94c7f4056b2b |
children | 39f5b7f71ddd |
rev | line source |
---|---|
30421
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
1 /* |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
2 * This file is part of MPlayer. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
3 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
4 * MPlayer is free software; you can redistribute it and/or modify |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
5 * it under the terms of the GNU General Public License as published by |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
6 * the Free Software Foundation; either version 2 of the License, or |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
7 * (at your option) any later version. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
8 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
9 * MPlayer is distributed in the hope that it will be useful, |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
12 * GNU General Public License for more details. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
13 * |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
14 * You should have received a copy of the GNU General Public License along |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
15 * with MPlayer; if not, write to the Free Software Foundation, Inc., |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
17 */ |
bbb6ebec87a0
Add missing license headers to all files in the libmpcodecs directory.
diego
parents:
26147
diff
changeset
|
18 |
26029 | 19 #ifndef MPLAYER_AD_H |
20 #define MPLAYER_AD_H | |
5324 | 21 |
22 #include "mpc_info.h" | |
26147
41652035483c
Add necessary header #includes to fix 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
23 #include "libmpdemux/stheader.h" |
41652035483c
Add necessary header #includes to fix 'make checkheaders'.
diego
parents:
26029
diff
changeset
|
24 |
5324 | 25 typedef mp_codec_info_t ad_info_t; |
26 | |
27 /* interface of video decoder drivers */ | |
28 typedef struct ad_functions_s | |
29 { | |
30663
94c7f4056b2b
Mark member info of struct ad_functions_s as const.
diego
parents:
30634
diff
changeset
|
30 const ad_info_t *info; |
5339
e72d8e3955ea
changed to be more-or-less compatible with Nick's stuff
arpi
parents:
5324
diff
changeset
|
31 int (*preinit)(sh_audio_t *sh); |
5324 | 32 int (*init)(sh_audio_t *sh); |
33 void (*uninit)(sh_audio_t *sh); | |
34 int (*control)(sh_audio_t *sh,int cmd,void* arg, ...); | |
5339
e72d8e3955ea
changed to be more-or-less compatible with Nick's stuff
arpi
parents:
5324
diff
changeset
|
35 int (*decode_audio)(sh_audio_t *sh,unsigned char* buffer,int minlen,int maxlen); |
5324 | 36 } ad_functions_t; |
37 | |
38 // NULL terminated array of all drivers | |
30634
9c043456a260
Mark ad_functions_t structures and mpcodecs_ad_drivers array as const.
diego
parents:
30421
diff
changeset
|
39 extern const ad_functions_t * const mpcodecs_ad_drivers[]; |
5324 | 40 |
41 // fallback if ADCTRL_RESYNC not implemented: sh_audio->a_in_buffer_len=0; | |
5339
e72d8e3955ea
changed to be more-or-less compatible with Nick's stuff
arpi
parents:
5324
diff
changeset
|
42 #define ADCTRL_RESYNC_STREAM 1 /* resync, called after seeking! */ |
5324 | 43 |
44 // fallback if ADCTRL_SKIP not implemented: ds_fill_buffer(sh_audio->ds); | |
5339
e72d8e3955ea
changed to be more-or-less compatible with Nick's stuff
arpi
parents:
5324
diff
changeset
|
45 #define ADCTRL_SKIP_FRAME 2 /* skip block/frame, called while seeking! */ |
5324 | 46 |
47 // fallback if ADCTRL_QUERY_FORMAT not implemented: sh_audio->sample_format | |
48 #define ADCTRL_QUERY_FORMAT 3 /* test for availabilty of a format */ | |
49 | |
50 // fallback: use hw mixer in libao | |
51 #define ADCTRL_SET_VOLUME 4 /* set volume (used for mp3lib and liba52) */ | |
52 | |
26029 | 53 #endif /* MPLAYER_AD_H */ |