aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTsuda Kageyu <tsuda.kageyu@gmail.com>2015-08-31 16:21:26 +0900
committerTsuda Kageyu <tsuda.kageyu@gmail.com>2015-08-31 16:21:26 +0900
commit3bb0b11bff14acd090e99465331f66bd247c8008 (patch)
tree38e041142519e3651f942e36e7b5668b474ee746
parent60558d6a4ae41e30abd23ab23167497a89142bb7 (diff)
Revert "Fix an instance reference to a static data member."
This reverts commit 9666b64f28c912bae8a42b6b1f40dd15a7ef0bc6.
-rw-r--r--taglib/mpeg/id3v2/id3v2header.cpp34
1 files changed, 19 insertions, 15 deletions
diff --git a/taglib/mpeg/id3v2/id3v2header.cpp b/taglib/mpeg/id3v2/id3v2header.cpp
index 6e567193..10381053 100644
--- a/taglib/mpeg/id3v2/id3v2header.cpp
+++ b/taglib/mpeg/id3v2/id3v2header.cpp
@@ -39,14 +39,15 @@ using namespace ID3v2;
class Header::HeaderPrivate
{
public:
- HeaderPrivate() :
- majorVersion(4),
- revisionNumber(0),
- unsynchronisation(false),
- extendedHeader(false),
- experimentalIndicator(false),
- footerPresent(false),
- tagSize(0) {}
+ HeaderPrivate() : majorVersion(4),
+ revisionNumber(0),
+ unsynchronisation(false),
+ extendedHeader(false),
+ experimentalIndicator(false),
+ footerPresent(false),
+ tagSize(0) {}
+
+ ~HeaderPrivate() {}
uint majorVersion;
uint revisionNumber;
@@ -57,6 +58,8 @@ public:
bool footerPresent;
uint tagSize;
+
+ static const uint size = 10;
};
////////////////////////////////////////////////////////////////////////////////
@@ -65,7 +68,7 @@ public:
TagLib::uint Header::size()
{
- return 10;
+ return HeaderPrivate::size;
}
ByteVector Header::fileIdentifier()
@@ -77,14 +80,14 @@ ByteVector Header::fileIdentifier()
// public members
////////////////////////////////////////////////////////////////////////////////
-Header::Header() :
- d(new HeaderPrivate())
+Header::Header()
{
+ d = new HeaderPrivate;
}
-Header::Header(const ByteVector &data) :
- d(new HeaderPrivate())
+Header::Header(const ByteVector &data)
{
+ d = new HeaderPrivate;
parse(data);
}
@@ -136,9 +139,9 @@ TagLib::uint Header::tagSize() const
TagLib::uint Header::completeTagSize() const
{
if(d->footerPresent)
- return d->tagSize + size() + Footer::size();
+ return d->tagSize + d->size + Footer::size();
else
- return d->tagSize + size();
+ return d->tagSize + d->size;
}
void Header::setTagSize(uint s)
@@ -196,6 +199,7 @@ void Header::parse(const ByteVector &data)
if(data.size() < size())
return;
+
// do some sanity checking -- even in ID3v2.3.0 and less the tag size is a
// synch-safe integer, so all bytes must be less than 128. If this is not
// true then this is an invalid tag.