gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp [gnash_0_8_3_branch


From: Sandro Santilli
Subject: [Gnash-commit] gnash ChangeLog libbase/FLVParser.cpp [gnash_0_8_3_branch]
Date: Wed, 21 May 2008 08:50:06 +0000

CVSROOT:        /sources/gnash
Module name:    gnash
Branch:         gnash_0_8_3_branch
Changes by:     Sandro Santilli <strk>  08/05/21 08:50:06

Modified files:
        .              : ChangeLog 
        libbase        : FLVParser.cpp 

Log message:
        * libbase/FLVParser.cpp (parseNextFrame): don't log ERROR on end of
          file, but mark parsing as complete; don't abort parsing on unknown
          FLV tag type (we can just skip them); handle premature EOF during
          metaTag parsing.

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/gnash/ChangeLog?cvsroot=gnash&only_with_tag=gnash_0_8_3_branch&r1=1.6573.2.29&r2=1.6573.2.30
http://cvs.savannah.gnu.org/viewcvs/gnash/libbase/FLVParser.cpp?cvsroot=gnash&only_with_tag=gnash_0_8_3_branch&r1=1.29.2.2&r2=1.29.2.3

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/gnash/gnash/ChangeLog,v
retrieving revision 1.6573.2.29
retrieving revision 1.6573.2.30
diff -u -b -r1.6573.2.29 -r1.6573.2.30
--- ChangeLog   21 May 2008 08:20:29 -0000      1.6573.2.29
+++ ChangeLog   21 May 2008 08:50:02 -0000      1.6573.2.30
@@ -1,4 +1,11 @@
-2008-05-20 Brad Smith <address@hidden>
+2008-05-21 Sandro Santilli <address@hidden>
+
+       * libbase/FLVParser.cpp (parseNextFrame): don't log ERROR on end of
+         file, but mark parsing as complete; don't abort parsing on unknown
+         FLV tag type (we can just skip them); handle premature EOF during
+         metaTag parsing.
+
+2008-05-21 Brad Smith <address@hidden>
 
        * libnet/network.h: Ensure data types are defined before including
        netinet.h (for OpenBSD).

Index: libbase/FLVParser.cpp
===================================================================
RCS file: /sources/gnash/gnash/libbase/FLVParser.cpp,v
retrieving revision 1.29.2.2
retrieving revision 1.29.2.3
diff -u -b -r1.29.2.2 -r1.29.2.3
--- libbase/FLVParser.cpp       10 May 2008 11:05:43 -0000      1.29.2.2
+++ libbase/FLVParser.cpp       21 May 2008 08:50:05 -0000      1.29.2.3
@@ -581,7 +581,10 @@
        int actuallyRead = _lt.read_bytes(tag, 12);
        if ( actuallyRead < 12 )
        {
-               log_error("FLVParser::parseNextFrame: can't read tag info 
(needed 12 bytes, only got %d)", actuallyRead);
+               if ( actuallyRead )
+                       log_error("FLVParser::parseNextTag: can't read tag info 
(needed 12 bytes, only got %d)", actuallyRead);
+               // else { assert(_lt.get_eof(); } ?
+               _parsingComplete=true;
                return false;
        }
 
@@ -697,13 +700,22 @@
                // Extract information from the meta tag
                /*_lt.seek(_lastParsedPosition+16);
                char* metaTag = new char[bodyLength];
-               _lt.read(metaTag, bodyLength);
+               size_t actuallyRead = _lt.read(metaTag, bodyLength);
+               if ( actuallyRead < bodyLength )
+               {
+                       log_error("FLVParser::parseNextTag: can't read metaTag 
(%d) body (needed %d bytes, only got %d)",
+                               META_TAG, bodyLength, actuallyRead);
+                       _parsingComplete=true;
+                       return false;
+               }
                amf::AMF* amfParser = new amf::AMF();
                amfParser->parseAMF(metaTag);*/
 
        } else {
-               _parsingComplete = true;
-               return false;
+               log_error("Unknown FLV tag type %d", tag[0]);
+               // don't give up, isn't a short read...
+               //_parsingComplete = true;
+               //return false;
        }
 
        return true;




reply via email to

[Prev in Thread] Current Thread [Next in Thread]