From 2155b4fd50f035269733555951eb7a0cbe1b5a54 Mon Sep 17 00:00:00 2001 From: Tsuda Kageyu Date: Tue, 26 May 2015 13:35:44 +0900 Subject: [PATCH] TrueAudio: A bit more accurate calculation of the stream length. --- taglib/trueaudio/trueaudiofile.cpp | 18 ++++++++++++------ tests/data/tagged.tta | Bin 0 -> 81819 bytes tests/test_trueaudio.cpp | 16 ++++++++++++++++ 3 files changed, 28 insertions(+), 6 deletions(-) create mode 100644 tests/data/tagged.tta diff --git a/taglib/trueaudio/trueaudiofile.cpp b/taglib/trueaudio/trueaudiofile.cpp index f98d6add..ec48aafe 100644 --- a/taglib/trueaudio/trueaudiofile.cpp +++ b/taglib/trueaudio/trueaudiofile.cpp @@ -246,7 +246,6 @@ bool TrueAudio::File::hasID3v2Tag() const return d->hasID3v2; } - //////////////////////////////////////////////////////////////////////////////// // private members //////////////////////////////////////////////////////////////////////////////// @@ -284,16 +283,23 @@ void TrueAudio::File::read(bool readProperties, Properties::ReadStyle /* propert // Look for TrueAudio metadata if(readProperties) { - if(d->ID3v2Location >= 0) { + + long streamLength; + + if(d->hasID3v1) + streamLength = d->ID3v1Location; + else + streamLength = length(); + + if(d->hasID3v2) { seek(d->ID3v2Location + d->ID3v2OriginalSize); - d->properties = new Properties(readBlock(TrueAudio::HeaderSize), - length() - d->ID3v2OriginalSize); + streamLength -= (d->ID3v2Location + d->ID3v2OriginalSize); } else { seek(0); - d->properties = new Properties(readBlock(TrueAudio::HeaderSize), - length()); } + + d->properties = new Properties(readBlock(TrueAudio::HeaderSize), streamLength); } } diff --git a/tests/data/tagged.tta b/tests/data/tagged.tta new file mode 100644 index 0000000000000000000000000000000000000000..1677a7edfbca692ad1e659f1d477be40d4138de7 GIT binary patch literal 81819 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 Wc?A899X%42n)rVm{C~Xn=l=qGix&X^ literal 0 HcmV?d00001 diff --git a/tests/test_trueaudio.cpp b/tests/test_trueaudio.cpp index 49a28af7..33cb1904 100644 --- a/tests/test_trueaudio.cpp +++ b/tests/test_trueaudio.cpp @@ -11,6 +11,7 @@ class TestTrueAudio : public CppUnit::TestFixture { CPPUNIT_TEST_SUITE(TestTrueAudio); CPPUNIT_TEST(testReadPropertiesWithoutID3v2); + CPPUNIT_TEST(testReadPropertiesWithTags); CPPUNIT_TEST_SUITE_END(); public: @@ -30,6 +31,21 @@ public: CPPUNIT_ASSERT_EQUAL(1, f.audioProperties()->ttaVersion()); } + void testReadPropertiesWithTags() + { + TrueAudio::File f(TEST_FILE_PATH_C("tagged.tta")); + CPPUNIT_ASSERT(f.audioProperties()); + CPPUNIT_ASSERT_EQUAL(3, f.audioProperties()->length()); + CPPUNIT_ASSERT_EQUAL(3, f.audioProperties()->lengthInSeconds()); + CPPUNIT_ASSERT_EQUAL(3685, f.audioProperties()->lengthInMilliseconds()); + CPPUNIT_ASSERT_EQUAL(173, f.audioProperties()->bitrate()); + CPPUNIT_ASSERT_EQUAL(2, f.audioProperties()->channels()); + CPPUNIT_ASSERT_EQUAL(44100, f.audioProperties()->sampleRate()); + CPPUNIT_ASSERT_EQUAL(16, f.audioProperties()->bitsPerSample()); + CPPUNIT_ASSERT_EQUAL(162496U, f.audioProperties()->sampleFrames()); + CPPUNIT_ASSERT_EQUAL(1, f.audioProperties()->ttaVersion()); + } + }; CPPUNIT_TEST_SUITE_REGISTRATION(TestTrueAudio); -- 2.40.0