annotate libmpcodecs/ad.h @ 16718:044260623695

makes demux_lavf (-demuxer 35) use the framerate specified in the container if it's set and only fall back to the codec framerate if the former is not set. This solves the issue of some avi's playing at 30000/1 fps instead of the correct framerate. Patch by Ivo < ivop AH euronet POIS nl > Original thread: Date: Sep 25, 2005 12:34 AM Subject: [MPlayer-dev-eng] [PATCH] make demux_lavf use container framerate
author gpoirier
date Mon, 10 Oct 2005 05:45:38 +0000
parents e72d8e3955ea
children 6ac1ece1f9fe
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
5324
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
1
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
2 #include "mpc_info.h"
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
3 typedef mp_codec_info_t ad_info_t;
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
4
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
5 /* interface of video decoder drivers */
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
6 typedef struct ad_functions_s
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
7 {
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
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
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
10 int (*init)(sh_audio_t *sh);
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
11 void (*uninit)(sh_audio_t *sh);
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
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
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
14 } ad_functions_t;
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
15
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
16 // NULL terminated array of all drivers
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
17 extern ad_functions_t* mpcodecs_ad_drivers[];
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
18
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
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
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
21
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
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
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
24
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
25 // fallback if ADCTRL_QUERY_FORMAT not implemented: sh_audio->sample_format
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
26 #define ADCTRL_QUERY_FORMAT 3 /* test for availabilty of a format */
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
27
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
28 // fallback: use hw mixer in libao
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
29 #define ADCTRL_SET_VOLUME 4 /* set volume (used for mp3lib and liba52) */
f9845598022f proposal for audio decoders
arpi
parents:
diff changeset
30