gnash-commit
[Top][All Lists]
Advanced

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

[Gnash-commit] /srv/bzr/gnash/trunk r10144: fix decodeTagHeader to work


From: rob
Subject: [Gnash-commit] /srv/bzr/gnash/trunk r10144: fix decodeTagHeader to work with smart pointers
Date: Mon, 27 Oct 2008 08:46:27 -0600
User-agent: Bazaar (1.5)

------------------------------------------------------------
revno: 10144
committer: address@hidden
branch nick: trunk
timestamp: Mon 2008-10-27 08:46:27 -0600
message:
  fix decodeTagHeader to work with smart pointers
modified:
  libamf/flv.cpp
  libamf/flv.h
  testsuite/libamf.all/test_flv.cpp
=== modified file 'libamf/flv.cpp'
--- a/libamf/flv.cpp    2008-09-22 22:56:11 +0000
+++ b/libamf/flv.cpp    2008-10-27 14:46:27 +0000
@@ -279,6 +279,7 @@
 {
 //    GNASH_REPORT_FUNCTION;
     boost::uint32_t bodysize = 0;
+
 #ifdef BOOST_BIG_ENDIAN
     bodysize = *(reinterpret_cast<boost::uint32_t *>(num)) >> 8;
 #else
@@ -291,11 +292,13 @@
 
 // Decode the tag header
 boost::shared_ptr<Flv::flv_tag_t>
-Flv::decodeTagHeader(boost::shared_ptr<amf::Buffer> buf)
+Flv::decodeTagHeader(boost::shared_ptr<amf::Buffer> &buf)
 {
 //    GNASH_REPORT_FUNCTION;
+    flv_tag_t *data = reinterpret_cast<flv_tag_t *>(buf->reference());
     boost::shared_ptr<flv_tag_t> tag(new flv_tag_t);
-    memcpy(tag.get(), buf->reference(), sizeof(flv_tag_t));
+    memcpy(tag.get(), data, sizeof(flv_tag_t));
+
 //    std::copy(buf->begin(), buf->end(), tag);
 
     // These fields are all 24 bit, big endian integers

=== modified file 'libamf/flv.h'
--- a/libamf/flv.h      2008-10-26 23:35:38 +0000
+++ b/libamf/flv.h      2008-10-27 14:46:27 +0000
@@ -211,7 +211,7 @@
     /// @param flags The data to deserialize.
     /// 
     /// @return a smart pointer to an video data structure that contains the 
data.
-    boost::shared_ptr<flv_tag_t> 
decodeTagHeader(boost::shared_ptr<amf::Buffer> buf);
+    boost::shared_ptr<flv_tag_t> 
decodeTagHeader(boost::shared_ptr<amf::Buffer> &buf);
 
     /// \brief Find the named property for this Object.
     ///

=== modified file 'testsuite/libamf.all/test_flv.cpp'
--- a/testsuite/libamf.all/test_flv.cpp 2008-09-22 22:56:11 +0000
+++ b/testsuite/libamf.all/test_flv.cpp 2008-10-27 14:46:27 +0000
@@ -174,12 +174,13 @@
     }
     
     boost::shared_ptr<amf::Buffer> hex3(new Buffer("12 00 00 a4 00 00 00 00 00 
00 00"));
+
     boost::shared_ptr<Flv::flv_tag_t> tag3 = flv.decodeTagHeader(hex3);
     if ((tag3->type == Flv::TAG_METADATA)
-        && (flv.convert24(tag3->bodysize) == 164)) {
-        runtest.pass("Decoded FLV MetaData header");
+        && (flv.convert24(tag3->bodysize) == 0xa40000)) {
+        runtest.pass("Decoded FLV MetaData Tag header");
     } else {
-        runtest.fail("Decoded FLV MetaData header");
+        runtest.fail("Decoded FLV MetaData Tag header");
     }
 }
 


reply via email to

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