[Top][All Lists]
[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");
}
}
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Gnash-commit] /srv/bzr/gnash/trunk r10144: fix decodeTagHeader to work with smart pointers,
rob <=