[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [55709] trunk/blender: Fix FFMPEG build error with older versions after planar formats commit.

Brecht Van Lommel brechtvanlommel at pandora.be
Mon Apr 1 22:51:52 CEST 2013


Revision: 55709
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=55709
Author:   blendix
Date:     2013-04-01 20:51:52 +0000 (Mon, 01 Apr 2013)
Log Message:
-----------
Fix FFMPEG build error with older versions after planar formats commit.

Modified Paths:
--------------
    trunk/blender/intern/ffmpeg/ffmpeg_compat.h
    trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c

Modified: trunk/blender/intern/ffmpeg/ffmpeg_compat.h
===================================================================
--- trunk/blender/intern/ffmpeg/ffmpeg_compat.h	2013-04-01 20:26:52 UTC (rev 55708)
+++ trunk/blender/intern/ffmpeg/ffmpeg_compat.h	2013-04-01 20:51:52 UTC (rev 55709)
@@ -171,6 +171,20 @@
 }
 #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

Modified: trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c	2013-04-01 20:26:52 UTC (rev 55708)
+++ trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c	2013-04-01 20:51:52 UTC (rev 55709)
@@ -135,7 +135,9 @@
 	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;




More information about the Bf-blender-cvs mailing list