[xiph-commits] r16651 - in trunk/ffmpeg2theora: . patches

j at svn.xiph.org j at svn.xiph.org
Sun Oct 25 12:28:26 PDT 2009


Author: j
Date: 2009-10-25 12:28:26 -0700 (Sun, 25 Oct 2009)
New Revision: 16651

Added:
   trunk/ffmpeg2theora/patches/ogg_duration.patch
Modified:
   trunk/ffmpeg2theora/ChangeLog
Log:
update ChangeLog, add ffmpeg patch for ogg duration

Modified: trunk/ffmpeg2theora/ChangeLog
===================================================================
--- trunk/ffmpeg2theora/ChangeLog	2009-10-25 18:42:12 UTC (rev 16650)
+++ trunk/ffmpeg2theora/ChangeLog	2009-10-25 19:28:26 UTC (rev 16651)
@@ -1,3 +1,7 @@
+svn
+    - use a/v sync from input container
+      this should fix many issues that came up with variable framerate inputs
+
 0.25 2009-09-28
     - fix input from codecs where width/height is not encoded width/height
     - fix a/v sync issues with some mov/mp4 files with strange framerates

Added: trunk/ffmpeg2theora/patches/ogg_duration.patch
===================================================================
--- trunk/ffmpeg2theora/patches/ogg_duration.patch	                        (rev 0)
+++ trunk/ffmpeg2theora/patches/ogg_duration.patch	2009-10-25 19:28:26 UTC (rev 16651)
@@ -0,0 +1,23 @@
+Index: libavformat/oggdec.c
+===================================================================
+--- libavformat/oggdec.c	(revision 19439)
++++ libavformat/oggdec.c	(working copy)
+@@ -469,6 +469,18 @@
+     ogg->size = size;
+     ogg_restore (s, 0);
+ 
++    ogg_save (s);
++    url_fseek (s->pb, 0, SEEK_SET);
++    while (!ogg_read_page (s, &i)){
++        if (ogg->streams[i].granule != -1 && ogg->streams[i].granule != 0 && 
++            idx == i) {
++            s->streams[idx]->duration -=
++                ogg_gptopts (s, idx, ogg->streams[idx].granule);
++            break;
++        }
++    }
++    ogg_restore (s, 0);
++
+     return 0;
+ }
+ 



More information about the commits mailing list