summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoerg Bornkessel <hd_brummy@gentoo.org>2014-10-21 00:30:16 +0200
committerJoerg Bornkessel <hd_brummy@gentoo.org>2014-10-21 00:30:16 +0200
commit1db131476229cb9fd93aa417312755993e5cdae1 (patch)
tree6c1d4d770ae9bd1807dce2ebd74ecd142a113aae
parent058d8bc29a289f49e55c44c4e852469eb6fa2362 (diff)
downloadvdr-plugin-audiorecorder-1db131476229cb9fd93aa417312755993e5cdae1.tar.gz
vdr-plugin-audiorecorder-1db131476229cb9fd93aa417312755993e5cdae1.tar.bz2
call AV_CODEC_ID_MP3 direkt
-rw-r--r--audiorecorder.c2
-rw-r--r--convert.c23
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;
diff --git a/convert.c b/convert.c
index 4196825..44943e0 100644
--- a/convert.c
+++ b/convert.c
@@ -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);
}