Mercurial > mplayer.hg
view libmpcodecs/ae.c @ 16529:d320720fe74e
feel free to fix this as you see fit...
i want to be sure people will not take interest in this option and
look it up and try using it. just enough for those already know it
and still stubborn enough to use it.
author | ods15 |
---|---|
date | Mon, 19 Sep 2005 19:36:10 +0000 |
parents | af245d15f502 |
children | d9b74d27974d |
line wrap: on
line source
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <inttypes.h> #include <unistd.h> #include <sys/types.h> #include <math.h> #include "aviheader.h" #include "ms_hdr.h" #include "muxer.h" #include "ae.h" #include "../config.h" #ifdef HAVE_TOOLAME #include "ae_toolame.h" #endif #ifdef HAVE_MP3LAME #include "ae_lame.h" #endif #ifdef USE_LIBAVCODEC #include "ae_lavc.h" #endif #ifdef HAVE_FAAC #include "ae_faac.h" #endif #ifdef HAVE_TWOLAME #include "ae_twolame.h" #endif audio_encoder_t *new_audio_encoder(muxer_stream_t *stream, audio_encoding_params_t *params) { int ris; audio_encoder_t *encoder; if(! params) return NULL; encoder = (audio_encoder_t *) calloc(1, sizeof(audio_encoder_t)); memcpy(&encoder->params, params, sizeof(audio_encoding_params_t)); encoder->stream = stream; switch(stream->codec) { case ACODEC_PCM: ris = mpae_init_pcm(encoder); break; #ifdef HAVE_TOOLAME case ACODEC_TOOLAME: ris = mpae_init_toolame(encoder); break; #endif #ifdef USE_LIBAVCODEC case ACODEC_LAVC: ris = mpae_init_lavc(encoder); break; #endif #ifdef HAVE_MP3LAME case ACODEC_VBRMP3: ris = mpae_init_lame(encoder); break; #endif #ifdef HAVE_FAAC case ACODEC_FAAC: ris = mpae_init_faac(encoder); break; #endif #ifdef HAVE_TWOLAME case ACODEC_TWOLAME: ris = mpae_init_twolame(encoder); break; #endif } if(! ris) { free(encoder); return NULL; } encoder->bind(encoder, stream); encoder->decode_buffer = (int*)malloc(encoder->decode_buffer_size); if(! encoder->decode_buffer) { free(encoder); return NULL; } encoder->codec = stream->codec; return encoder; }