diff options
author | Tsuda Kageyu <tsuda.kageyu@gmail.com> | 2015-08-31 16:21:26 +0900 |
---|---|---|
committer | Tsuda Kageyu <tsuda.kageyu@gmail.com> | 2015-08-31 16:21:26 +0900 |
commit | 3bb0b11bff14acd090e99465331f66bd247c8008 (patch) | |
tree | 38e041142519e3651f942e36e7b5668b474ee746 | |
parent | 60558d6a4ae41e30abd23ab23167497a89142bb7 (diff) |
Revert "Fix an instance reference to a static data member."
This reverts commit 9666b64f28c912bae8a42b6b1f40dd15a7ef0bc6.
-rw-r--r-- | taglib/mpeg/id3v2/id3v2header.cpp | 34 |
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. |