Mercurial > mplayer.hg
annotate libmpcodecs/ad.h @ 12084:68baf8877c07
reversing the change to the forw/backw pointers, its somewhat simpler to update it if the forward pointer is first
much more efficient encoding of the frame_code table
stream_id -> stream_id_plus1, that way 0 is the special case instead of stream_count and we can be sure the table needs only 8bit per entry
replace timestamp_msb by timestamp (and obviously dont code the lsb if the whole is coded) thats simpler and more compact
add a msb_timestamp flag to the frame_code[].flags
author | michael |
---|---|
date | Wed, 31 Mar 2004 01:44:57 +0000 |
parents | e72d8e3955ea |
children | 6ac1ece1f9fe |
rev | line source |
---|---|
5324 | 1 |
2 #include "mpc_info.h" | |
3 typedef mp_codec_info_t ad_info_t; | |
4 | |
5 /* interface of video decoder drivers */ | |
6 typedef struct ad_functions_s | |
7 { | |
8 ad_info_t *info; | |
5339
e72d8e3955ea
changed to be more-or-less compatible with Nick's stuff
arpi
parents:
5324
diff
changeset
|
9 int (*preinit)(sh_audio_t *sh); |
5324 | 10 int (*init)(sh_audio_t *sh); |
11 void (*uninit)(sh_audio_t *sh); | |
12 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
|
13 int (*decode_audio)(sh_audio_t *sh,unsigned char* buffer,int minlen,int maxlen); |
5324 | 14 } ad_functions_t; |
15 | |
16 // NULL terminated array of all drivers | |
17 extern ad_functions_t* mpcodecs_ad_drivers[]; | |
18 | |
19 // 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
|
20 #define ADCTRL_RESYNC_STREAM 1 /* resync, called after seeking! */ |
5324 | 21 |
22 // 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
|
23 #define ADCTRL_SKIP_FRAME 2 /* skip block/frame, called while seeking! */ |
5324 | 24 |
25 // fallback if ADCTRL_QUERY_FORMAT not implemented: sh_audio->sample_format | |
26 #define ADCTRL_QUERY_FORMAT 3 /* test for availabilty of a format */ | |
27 | |
28 // fallback: use hw mixer in libao | |
29 #define ADCTRL_SET_VOLUME 4 /* set volume (used for mp3lib and liba52) */ | |
30 |