[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [36938] trunk/blender/source/blender/ blenkernel/intern/writeffmpeg.c: == FFMPEG ==

Peter Schlaile peter at schlaile.de
Fri May 27 01:19:16 CEST 2011


Revision: 36938
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=36938
Author:   schlaile
Date:     2011-05-26 23:19:15 +0000 (Thu, 26 May 2011)
Log Message:
-----------
== FFMPEG ==

Added some API compatibility code again, since some API-changes weren't even documented 
(they even didn't do a proper version-bump, arghh!)

If it breaks again, please tell!

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

Modified: trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c	2011-05-26 22:48:06 UTC (rev 36937)
+++ trunk/blender/source/blender/blenkernel/intern/writeffmpeg.c	2011-05-26 23:19:15 UTC (rev 36938)
@@ -61,6 +61,21 @@
 #include "IMB_imbuf_types.h"
 #include "IMB_imbuf.h"
 
+#if (LIBAVFORMAT_VERSION_MAJOR >= 52) && (LIBAVFORMAT_VERSION_MINOR >= 105)
+#define FFMPEG_HAVE_AVIO 1
+#endif
+
+#if (LIBAVFORMAT_VERSION_MAJOR >= 53) && (LIBAVFORMAT_VERSION_MINOR >= 3)
+#define FFMPEG_HAVE_DEFAULT_VAL_UNION 1
+#endif
+
+#ifndef FFMPEG_HAVE_AVIO
+#define AVIO_FLAG_WRITE URL_WRONLY
+#define avio_open url_fopen
+#define avio_tell url_ftell
+#define avio_close url_fclose
+#endif
+
 extern void do_init_ffmpeg(void);
 
 static int ffmpeg_type = 0;
@@ -1051,12 +1066,20 @@
 	switch (o->type) {
 	case FF_OPT_TYPE_INT:
 	case FF_OPT_TYPE_INT64:
+#ifdef FFMPEG_HAVE_DEFAULT_VAL_UNION
 		val.i = o->default_val.i64;
+#else
+		val.i = o->default_val;
+#endif
 		idp_type = IDP_INT;
 		break;
 	case FF_OPT_TYPE_DOUBLE:
 	case FF_OPT_TYPE_FLOAT:
+#ifdef FFMPEG_HAVE_DEFAULT_VAL_UNION
 		val.f = o->default_val.dbl;
+#else
+		val.f = o->default_val;
+#endif
 		idp_type = IDP_FLOAT;
 		break;
 	case FF_OPT_TYPE_STRING:




More information about the Bf-blender-cvs mailing list