From 07d027b1023de26fa2dba45c281612f0bbb29f0a Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Mon, 1 Apr 2013 20:51:52 +0000 Subject: [PATCH] Fix FFMPEG build error with older versions after planar formats commit. --- intern/ffmpeg/ffmpeg_compat.h | 14 ++++++++++++++ source/blender/blenkernel/intern/writeffmpeg.c | 2 ++ 2 files changed, 16 insertions(+) diff --git a/intern/ffmpeg/ffmpeg_compat.h b/intern/ffmpeg/ffmpeg_compat.h index 69e2e014761..aaedbe2dccd 100644 --- a/intern/ffmpeg/ffmpeg_compat.h +++ b/intern/ffmpeg/ffmpeg_compat.h @@ -171,6 +171,20 @@ void av_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp) } #endif +#if ((LIBAVCODEC_VERSION_MAJOR < 54) || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR < 28)) +static inline +void avcodec_free_frame(AVFrame **frame) +{ + /* don't need to do anything with old AVFrame + * since it does not have malloced members */ + (void)frame; +} +#endif + +#if ((LIBAVCODEC_VERSION_MAJOR > 54) || (LIBAVCODEC_VERSION_MAJOR == 54 && LIBAVCODEC_VERSION_MINOR >= 13)) +#define FFMPEG_HAVE_FRAME_CHANNEL_LAYOUT +#endif + #ifndef FFMPEG_HAVE_AVIO #define AVIO_FLAG_WRITE URL_WRONLY #define avio_open url_fopen diff --git a/source/blender/blenkernel/intern/writeffmpeg.c b/source/blender/blenkernel/intern/writeffmpeg.c index f671a3cfc05..eddbaff0238 100644 --- a/source/blender/blenkernel/intern/writeffmpeg.c +++ b/source/blender/blenkernel/intern/writeffmpeg.c @@ -135,7 +135,9 @@ static int write_audio_frame(void) frame = avcodec_alloc_frame(); frame->nb_samples = audio_input_samples; frame->format = c->sample_fmt; +#ifdef FFMPEG_HAVE_FRAME_CHANNEL_LAYOUT frame->channel_layout = c->channel_layout; +#endif AUD_readDevice(audio_mixdown_device, audio_input_buffer, audio_input_samples); audio_time += (double) audio_input_samples / (double) c->sample_rate;