[FFmpeg-cvslog] Abort Ogg header parsing when we encounter a data packet.
Reimar Döffinger
git at videolan.org
Sun Apr 10 01:36:02 CEST 2011
ffmpeg | branch: master | Reimar Döffinger <Reimar.Doeffinger at gmx.de> | Fri Apr 8 01:17:21 2011 +0200| [d459d8e28df12ee69c71c7181380d91e09764374] | committer: Reimar Döffinger
Abort Ogg header parsing when we encounter a data packet.
Fixes ticket #15.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=d459d8e28df12ee69c71c7181380d91e09764374
---
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
More information about the ffmpeg-cvslog
mailing list