decoder/ffmpeg: support libav v10_alpha1

This commit is contained in:
Max Kellermann 2014-01-15 11:13:50 +01:00
parent b7d6133593
commit 313d1d5d83
2 changed files with 13 additions and 1 deletions

2
NEWS
View File

@ -1,4 +1,6 @@
ver 0.18.8 (not yet released) ver 0.18.8 (not yet released)
* decoder
- ffmpeg: support libav v10_alpha1
ver 0.18.7 (2013/01/13) ver 0.18.7 (2013/01/13)
* playlist * playlist

View File

@ -38,6 +38,10 @@ extern "C" {
#include <libavutil/avutil.h> #include <libavutil/avutil.h>
#include <libavutil/log.h> #include <libavutil/log.h>
#include <libavutil/mathematics.h> #include <libavutil/mathematics.h>
#if LIBAVUTIL_VERSION_MAJOR >= 53
#include <libavutil/frame.h>
#endif
} }
#include <assert.h> #include <assert.h>
@ -453,7 +457,11 @@ ffmpeg_decode(Decoder &decoder, InputStream &input)
decoder_initialized(decoder, audio_format, decoder_initialized(decoder, audio_format,
input.seekable, total_time); input.seekable, total_time);
#if LIBAVUTIL_VERSION_MAJOR >= 53
AVFrame *frame = av_frame_alloc();
#else
AVFrame *frame = avcodec_alloc_frame(); AVFrame *frame = avcodec_alloc_frame();
#endif
if (!frame) { if (!frame) {
LogError(ffmpeg_domain, "Could not allocate frame"); LogError(ffmpeg_domain, "Could not allocate frame");
avformat_close_input(&format_context); avformat_close_input(&format_context);
@ -497,7 +505,9 @@ ffmpeg_decode(Decoder &decoder, InputStream &input)
} }
} while (cmd != DecoderCommand::STOP); } while (cmd != DecoderCommand::STOP);
#if LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 28, 0) #if LIBAVUTIL_VERSION_MAJOR >= 53
av_frame_free(&frame);
#elif LIBAVCODEC_VERSION_INT >= AV_VERSION_INT(54, 28, 0)
avcodec_free_frame(&frame); avcodec_free_frame(&frame);
#else #else
av_freep(&frame); av_freep(&frame);