[FFmpeg-devel] [PATCH 2/2] lavf/oggdec: check for begin-of-stream flag in case of chained streams.

Clément Bœsch ubitux at gmail.com
Tue Aug 21 21:05:57 CEST 2012


Fix Ticket #1617.
---
 libavformat/oggdec.c | 11 +++++------
 1 file changed, 5 insertions(+), 6 deletions(-)

diff --git a/libavformat/oggdec.c b/libavformat/oggdec.c
index 02be2aa..f2947f8 100644
--- a/libavformat/oggdec.c
+++ b/libavformat/oggdec.c
@@ -255,13 +255,12 @@ static int ogg_read_page(AVFormatContext *s, int *str)
 
     idx = ogg_find_stream (ogg, serial);
     if (idx < 0){
-        if (ogg->headers) {
-
-            if (ogg->nstreams != 1) {
-                av_log_missing_feature(s, "Changing stream parameters in multistream ogg is", 0);
-                return idx;
-            }
+        if (ogg->headers && ogg->nstreams != 1) {
+            av_log_missing_feature(s, "Changing stream parameters in multistream ogg is", 0);
+            return idx;
+        }
 
+        if (ogg->headers && ogg->nstreams == 1 && !(ogg->streams[0].flags & OGG_FLAG_BOS)) {
             av_freep(&ogg->streams[0].buf);
             if (!ogg->state || ogg->state->streams[0].private != ogg->streams[0].private)
                 av_freep(&ogg->streams[0].private);
-- 
1.7.11.5



More information about the ffmpeg-devel mailing list