26029
|
1 #ifndef MPLAYER_AE_H
|
|
2 #define MPLAYER_AE_H
|
15234
|
3
|
|
4 #define ACODEC_COPY 0
|
|
5 #define ACODEC_PCM 1
|
|
6 #define ACODEC_VBRMP3 2
|
|
7 #define ACODEC_NULL 3
|
|
8 #define ACODEC_LAVC 4
|
|
9 #define ACODEC_TOOLAME 5
|
15258
|
10 #define ACODEC_FAAC 6
|
15359
|
11 #define ACODEC_TWOLAME 7
|
15234
|
12
|
|
13 #define AE_NEEDS_COMPRESSED_INPUT 1
|
|
14
|
|
15 typedef struct {
|
|
16 int channels;
|
|
17 int sample_rate;
|
|
18 int bitrate;
|
|
19 int samples_per_frame;
|
|
20 int audio_preload;
|
|
21 } audio_encoding_params_t;
|
|
22
|
15258
|
23 typedef struct audio_encoder_s {
|
15234
|
24 int codec;
|
|
25 int flags;
|
|
26 muxer_stream_t *stream;
|
|
27 audio_encoding_params_t params;
|
|
28 int audio_preload; //in ms
|
|
29 int input_format;
|
|
30 int min_buffer_size, max_buffer_size; //for init_audio_filters
|
17122
|
31 unsigned char *decode_buffer;
|
15234
|
32 int decode_buffer_size;
|
|
33 int decode_buffer_len;
|
|
34 void *priv;
|
15258
|
35 int (*bind)(struct audio_encoder_s*, muxer_stream_t*);
|
|
36 int (*get_frame_size)(struct audio_encoder_s*);
|
|
37 int (*set_decoded_len)(struct audio_encoder_s *encoder, int len);
|
|
38 int (*encode)(struct audio_encoder_s *encoder, uint8_t *dest, void *src, int nsamples, int max_size);
|
|
39 void (*fixup)(struct audio_encoder_s *encoder);
|
|
40 int (*close)(struct audio_encoder_s *encoder);
|
15234
|
41 } audio_encoder_t;
|
|
42
|
|
43 audio_encoder_t *new_audio_encoder(muxer_stream_t *stream, audio_encoding_params_t *params);
|
|
44
|
26029
|
45 #endif /* MPLAYER_AE_H */
|