[xiph-commits] r16865 - trunk/ffmpeg2theora/patches

j at svn.xiph.org j at svn.xiph.org
Mon Feb 1 22:05:45 PST 2010


Author: j
Date: 2010-02-01 22:05:43 -0800 (Mon, 01 Feb 2010)
New Revision: 16865

Modified:
   trunk/ffmpeg2theora/patches/ffmpeg_ogg_decode.patch
Log:
better fix for ffmpeg ogg decode issue, taken from https://roundup.ffmpeg.org/roundup/ffmpeg/issue1723

Modified: trunk/ffmpeg2theora/patches/ffmpeg_ogg_decode.patch
===================================================================
--- trunk/ffmpeg2theora/patches/ffmpeg_ogg_decode.patch	2010-02-02 01:28:49 UTC (rev 16864)
+++ trunk/ffmpeg2theora/patches/ffmpeg_ogg_decode.patch	2010-02-02 06:05:43 UTC (rev 16865)
@@ -1,21 +1,17 @@
 Index: libavformat/oggdec.c
 ===================================================================
---- libavformat/oggdec.c	(revision 21530)
+--- libavformat/oggdec.c	(revision 21579)
 +++ libavformat/oggdec.c	(working copy)
-@@ -491,17 +503,12 @@
- ogg_read_header (AVFormatContext * s, AVFormatParameters * ap)
- {
-     struct ogg *ogg = s->priv_data;
--    int i;
-     ogg->curidx = -1;
-     //linear headers seek from start
-     if (ogg_get_headers (s) < 0){
-         return -1;
-     }
- 
--    for (i = 0; i < ogg->nstreams; i++)
--        if (ogg->streams[i].header < 0)
--            ogg->streams[i].codec = NULL;
--
-     //linear granulepos seek from end
-     ogg_get_length (s);
+@@ -367,10 +367,10 @@
+
+     ogg->curidx = idx;
+
+-    if (os->header < 0){
++    if (!ogg->headers){
+         int hdr = os->codec->header (s, idx);
++        os->header = os->seq;
+         if (!hdr){
+-            os->header = os->seq;
+             os->segp = segp;
+             os->psize = psize;
+             ogg->headers = 1;



More information about the commits mailing list