[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [48251] trunk/blender/intern/ffmpeg/ ffmpeg_compat.h: Use own version of ff_update_cur_dts for FFmpeg >= 0.11, seems

Sergey Sharybin sergey.vfx at gmail.com
Mon Jun 25 09:14:33 CEST 2012


Revision: 48251
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48251
Author:   nazgul
Date:     2012-06-25 07:14:21 +0000 (Mon, 25 Jun 2012)
Log Message:
-----------
Use own version of ff_update_cur_dts for FFmpeg >= 0.11, seems
linking against function which isn't public in API gives error
when met some circumstances.

Modified Paths:
--------------
    trunk/blender/intern/ffmpeg/ffmpeg_compat.h

Modified: trunk/blender/intern/ffmpeg/ffmpeg_compat.h
===================================================================
--- trunk/blender/intern/ffmpeg/ffmpeg_compat.h	2012-06-24 22:35:57 UTC (rev 48250)
+++ trunk/blender/intern/ffmpeg/ffmpeg_compat.h	2012-06-25 07:14:21 UTC (rev 48251)
@@ -80,12 +80,24 @@
 #endif
 
 #if ((LIBAVFORMAT_VERSION_MAJOR > 53) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR > 32)) || ((LIBAVFORMAT_VERSION_MAJOR == 53) && (LIBAVFORMAT_VERSION_MINOR == 24) && (LIBAVFORMAT_VERSION_MICRO >= 100)))
-void ff_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp);
+static inline
+void my_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp)
+{
+	int i;
 
+	for (i = 0; i < s->nb_streams; i++) {
+		AVStream *st = s->streams[i];
+
+		st->cur_dts = av_rescale(timestamp,
+		                         st->time_base.den * (int64_t)ref_st->time_base.num,
+		                         st->time_base.num * (int64_t)ref_st->time_base.den);
+	}
+}
+
 static inline
 void av_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp)
 {
-    ff_update_cur_dts(s, ref_st, timestamp);
+	my_update_cur_dts(s, ref_st, timestamp);
 }
 #endif
 




More information about the Bf-blender-cvs mailing list