[FFmpeg-devel] [PATCH] Abort Ogg header parsing when we encounter a data packet.

Reimar Döffinger Reimar.Doeffinger at gmx.de
Sat Apr 9 17:20:39 CEST 2011


Fixes ticket #15.
---
 libavformat/oggdec.c |    5 +----
 1 files changed, 1 insertions(+), 4 deletions(-)

diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c
index ddc7a1f..148505a 100644
--- a/libavformat/oggdec.c
+++ b/libavformat/oggdec.c
@@ -376,8 +376,7 @@ ogg_packet (AVFormatContext * s, int *str, int *dstart, int *dsize, int64_t *fpo
 
             // We have reached the first non-header packet in this stream.
             // Unfortunately more header packets may still follow for others,
-            // so we reset this later unless we are done with the headers
-            // for all streams.
+            // but if we continue with header parsing we may lose data packets.
             ogg->headers = 1;
 
             // Update the header state for all streams and
@@ -386,8 +385,6 @@ ogg_packet (AVFormatContext * s, int *str, int *dstart, int *dsize, int64_t *fpo
                 s->data_offset = os->sync_pos;
             for (i = 0; i < ogg->nstreams; i++) {
                 struct ogg_stream *cur_os = ogg->streams + i;
-                if (cur_os->header > 0)
-                    ogg->headers = 0;
 
                 // if we have a partial non-header packet, its start is
                 // obviously at or after the data start
-- 
1.7.4.1



More information about the ffmpeg-devel mailing list