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