[FFmpeg-cvslog] wtv: do not use flag in stream_guid chunk to determine if stream is valid, as this method is unreliable

Peter Ross git
Sun Feb 6 21:08:55 CET 2011


ffmpeg | branch: master | Peter Ross <pross at xvid.org> | Sat Feb  5 12:10:10 2011 +1100| [699d55fb126f1e2199aef533bbc2cd3418c9e031] | committer: Michael Niedermayer

wtv: do not use flag in stream_guid chunk to determine if stream is valid, as this method is unreliable

This fixes roundup issue 2556.

Signed-off-by: Ronald S. Bultje <rsbultje at gmail.com>
(cherry picked from commit e4f85b849913794395bb03dfc09546cd41b10882)

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=699d55fb126f1e2199aef533bbc2cd3418c9e031
---

 libavformat/wtv.c |    8 ++------
 1 files changed, 2 insertions(+), 6 deletions(-)

diff --git a/libavformat/wtv.c b/libavformat/wtv.c
index e0881d3..c10d9ec 100644
--- a/libavformat/wtv.c
+++ b/libavformat/wtv.c
@@ -783,18 +783,14 @@ static int parse_chunks(AVFormatContext *s, int mode, int64_t seekts, int *len_p
             if (ff_find_stream_index(s, sid) < 0) {
                 ff_asf_guid mediatype, subtype, formattype;
                 int size;
-                consumed += 20;
-                url_fskip(pb, 16);
-                if (get_le32(pb)) {
-                    url_fskip(pb, 8);
+                    url_fskip(pb, 28);
                     ff_get_guid(pb, &mediatype);
                     ff_get_guid(pb, &subtype);
                     url_fskip(pb, 12);
                     ff_get_guid(pb, &formattype);
                     size = get_le32(pb);
                     parse_media_type(s, 0, sid, mediatype, subtype, formattype, size);
-                    consumed += 72 + size;
-                }
+                    consumed += 92 + size;
             }
         } else if (!ff_guidcmp(g, stream2_guid)) {
             int stream_index = ff_find_stream_index(s, sid);




More information about the ffmpeg-cvslog mailing list