Mercurial > mplayer.hg
diff libmpcodecs/ae.h @ 15234:e84a6ae9d51e
audio encoding reworked
author | nicodvb |
---|---|
date | Fri, 22 Apr 2005 06:59:59 +0000 |
parents | |
children | c2979462805a |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/libmpcodecs/ae.h Fri Apr 22 06:59:59 2005 +0000 @@ -0,0 +1,44 @@ + +#ifndef __MPAE_H__ +#define __MPAE_H__ + +#define ACODEC_COPY 0 +#define ACODEC_PCM 1 +#define ACODEC_VBRMP3 2 +#define ACODEC_NULL 3 +#define ACODEC_LAVC 4 +#define ACODEC_TOOLAME 5 + +#define AE_NEEDS_COMPRESSED_INPUT 1 + +typedef struct { + int channels; + int sample_rate; + int bitrate; + int samples_per_frame; + int audio_preload; +} audio_encoding_params_t; + +typedef struct { + int codec; + int flags; + muxer_stream_t *stream; + audio_encoding_params_t params; + int audio_preload; //in ms + int input_format; + int min_buffer_size, max_buffer_size; //for init_audio_filters + int *decode_buffer; + int decode_buffer_size; + int decode_buffer_len; + void *priv; + int (*bind)(void*, muxer_stream_t*); + int (*get_frame_size)(void*); + int (*set_decoded_len)(void *encoder, int len); + int (*encode)(void *encoder, uint8_t *dest, void *src, int nsamples, int max_size); + int (*fixup)(); + int (*close)(); +} audio_encoder_t; + +audio_encoder_t *new_audio_encoder(muxer_stream_t *stream, audio_encoding_params_t *params); + +#endif