Mercurial > mplayer.hg
view libmpcodecs/ae.c @ 19042:6f1e14a57fcc
r19046: two small fixes
r18969: Mention hardware DTS pass-through.
r18968: customtrect -vo gl suboption
r18967: forgotten customtlin -vo gl suboption documentation
r18948: grammar/markup fixes
r18942: Initial libass release (without mencoder support).
r18928: some grammar/spelling/markup fixes for -rtsp-destination
r18916: Modifies behavior of -edlout
r18882: updated english and french manpages with new -rtsp-destination option
author | kraymer |
---|---|
date | Wed, 12 Jul 2006 20:59:08 +0000 |
parents | d9474f04cce5 |
children | ca9da45d13e9 |
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" #include "ae_pcm.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 default: ris = 0; break; } if(! ris) { free(encoder); return NULL; } encoder->bind(encoder, stream); encoder->decode_buffer = malloc(encoder->decode_buffer_size); if(! encoder->decode_buffer) { free(encoder); return NULL; } encoder->codec = stream->codec; return encoder; }