diff options
author | Joerg Bornkessel <hd_brummy@gentoo.org> | 2014-10-21 00:30:16 +0200 |
---|---|---|
committer | Joerg Bornkessel <hd_brummy@gentoo.org> | 2014-10-21 00:30:16 +0200 |
commit | 1db131476229cb9fd93aa417312755993e5cdae1 (patch) | |
tree | 6c1d4d770ae9bd1807dce2ebd74ecd142a113aae | |
parent | 058d8bc29a289f49e55c44c4e852469eb6fa2362 (diff) | |
download | vdr-plugin-audiorecorder-1db131476229cb9fd93aa417312755993e5cdae1.tar.gz vdr-plugin-audiorecorder-1db131476229cb9fd93aa417312755993e5cdae1.tar.bz2 |
call AV_CODEC_ID_MP3 direkt
-rw-r--r-- | audiorecorder.c | 2 | ||||
-rw-r--r-- | convert.c | 23 |
2 files changed, 18 insertions, 7 deletions
diff --git a/audiorecorder.c b/audiorecorder.c index 8775af0..fece799 100644 --- a/audiorecorder.c +++ b/audiorecorder.c @@ -330,7 +330,7 @@ void cPluginAudiorecorder::probe_audio_codecs() { AVCodec *codec = NULL; for (c = 1; c < SetupValues.num_audio_codecs; ++c) { - codec = avcodec_find_encoder_by_name(audio_codecs[c]); + codec = avcodec_find_encoder(AV_CODEC_ID_MP3); if (codec) continue; @@ -74,19 +74,25 @@ void cConvert::init_encoder(const char *codec, int bit_rate, int sample_rate, int channels) { avcodec_register_all(); - encoder_codec = avcodec_find_encoder_by_name(codec); + AVCodec *encoder_codec; + AVCodecContext *encoder_ctx= NULL; + AVFrame *frame; + AVPacket pkt; + + encoder_codec = avcodec_find_encoder(AV_CODEC_ID_MP3); if (! encoder_codec) { dsyslog("[audiorecorder]: codec %s is not supported (%s, " "%s())", codec, __FILE__, __func__); return; } - encoder_ctx = avcodec_alloc_context3(NULL); + encoder_ctx = avcodec_alloc_context3(encoder_codec); - encoder_ctx->bit_rate = bit_rate; - encoder_ctx->sample_rate = sample_rate; - encoder_ctx->channels = channels; - encoder_ctx->sample_fmt = AV_SAMPLE_FMT_S16; //vdrportal.de #post1214719 + encoder_ctx->bit_rate = bit_rate; + encoder_ctx->sample_fmt = AV_SAMPLE_FMT_S16; + encoder_ctx->sample_rate = sample_rate; +// encoder_ctx->channel_layout = channel_layout; + encoder_ctx->channels = channels; encoder_open = avcodec_open2(encoder_ctx, encoder_codec, NULL); @@ -102,6 +108,11 @@ void cConvert::init_encoder(const char *codec, int bit_rate, int sample_rate, "initialized (%s, %s())", encoder_codec->name, encoder_ctx->bit_rate, encoder_ctx->sample_rate, encoder_ctx->channels, __FILE__, __func__); + +// av_freep(&samples); +// avcodec_free_frame(&frame); +// avcodec_close(encoder_ctx); +// av_free(encoder_ctx); } |