From 7ce870bbfc0ebb32e811576f305c63e7d5a95439 Mon Sep 17 00:00:00 2001 From: Joerg Bornkessel Date: Sat, 8 Nov 2014 21:59:17 +0100 Subject: libav10 fixes --- convert.c | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/convert.c b/convert.c index 89adc08..70058f9 100644 --- a/convert.c +++ b/convert.c @@ -128,14 +128,25 @@ void cConvert::decode_mpa_frame(mpeg_audio_frame *mpa_frame) AVCodecContext *decoder_ctx; - AVFrame *frame = avcodec_alloc_frame(); //av_frame_alloc() # libav10 +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,34,1) + AVFrame *frame = avcodec_alloc_frame(); // libav9 +#else + AVFrame *frame = av_frame_alloc(); // libav10 +#endif + int got_output; int len = avcodec_decode_audio4(decoder_ctx, frame, &got_output, &avpkt); +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,34,1) avcodec_free_frame(&frame); // av_free_frame(&frame); // libav10 // avcodec_close(decoder_ctx); // muss codec hier geschlossen werden? +#else + av_frame_free(&frame); // libav10 +// avcodec_close(decoder_ctx); // muss codec hier geschlossen werden? #endif + +#endif // AVCODEC_NEW } @@ -178,7 +189,11 @@ abuffer *cConvert::reencode_mpa_frame(mpeg_audio_frame *mpa_frame, // https://www.ffmpeg.org/doxygen/1.0/group__lavc__encoding.html#gf12a9da0d33f50ff406e03572fab4763 // https://www.ffmpeg.org/doxygen/1.0/decoding__encoding_8c-source.html#l00102 AVCodecContext *encoder_ctx; - AVFrame *frame = avcodec_alloc_frame(); // libav10 av_frame_alloc() +#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,34,1) + AVFrame *frame = avcodec_alloc_frame(); // libav9 +#else + AVFrame *frame = av_frame_alloc(); // libav10 +#endif AVPacket avpkt; av_init_packet(&avpkt); avpkt.data = mpa_frame->data; @@ -187,6 +202,6 @@ abuffer *cConvert::reencode_mpa_frame(mpeg_audio_frame *mpa_frame, encoder_buf.offset = avcodec_encode_audio2(encoder_ctx, &avpkt, frame, &got_output); -#endif +#endif // AVCODEC_NEW return &encoder_buf; } -- cgit v1.2.3