9a8e41b9d6
APE: AudioProperties improvements
...
Add lengthInSeconds(), lengthInMilliseconds() properties. (#503 )
Enable to read bit depth from older version files. (#360 )
Remove some data members which are not needed to carry.
Add some tests for audio properties.
Add some supplementary comments.
2015-06-18 14:41:37 +09:00
a06d55ae6f
Merge pull request #577 from TsudaKageyu/frameoffset
...
Fix MPEG::File::firstFrameOffset() and lastFrameOffset(). (#190 )
2015-05-26 17:53:24 +02:00
2d778d5a0a
A lot of zero-sized temporary files are left after a test session on Windows.
2015-05-25 15:51:19 +09:00
618a939c56
Fix MPEG::File::firstFrameOffset() and lastFrameOffset(). ( #190 )
2015-05-25 02:41:27 +09:00
3094540a4b
Avoid an infinite loop when reading fuzzed WavPack files. ( #482 )
2015-05-22 14:15:10 +09:00
48ca54de1f
Merge pull request #484 from TsudaKageyu/fix-rfind
...
Fix File::rfind() for small files.
2015-05-21 22:44:10 -04:00
bb9679b51a
Fix test code to work on some environments.
...
const char * is more preferable than string for ifstream constructor.
2015-05-21 02:03:06 +09:00
e4cf012522
Bring the API more in line with the rest of TagLib
...
Like in #255 , this also makes it possible to read values from the
tag in a const function.
2015-05-20 14:26:53 +02:00
88a4cf34b8
Modify the test code to work on MSVC/Windows.
2015-05-20 20:19:20 +09:00
81261dd128
This should also work Windows and has less duplicated code
2015-05-20 11:53:32 +02:00
3bea9f6bee
Don't use tempnam on UNIX
...
This silences the huge stream of warnings when building the tests.
I think I didn't break the Windows version in the process (though
it may make sense to use the built in Windows functions there
instead), but I don't have a Windows build environment here, so
I can't test.
2015-05-20 11:45:32 +02:00
2268efb49e
Add a test for strings that contains surrogate pairs.
2015-05-19 09:01:47 +09:00
bd3c4dc1b2
Merge pull request #515 from TsudaKageyu/empty-id3v2-frame
...
Skip empty ID3v2 frames when saving an ID3v2 tag.
2015-05-18 21:36:37 +02:00
bba562b557
Add accessors to manipulate MP4 tags without modifying the internal structure
...
This brings the MP4 API in line closer to other tag formats and makes it
possible to access the tag data from const functions.
"ItemListMap" has been renamed to "ItemMap" (with the old version
deprecated). It seems that the "ListMap" notion was copied probably
from Allan's ApeTag implementation, which incorrectly copied the term
from the XiphTag. Notably, in XiphTag, because a field can have multiple
values, the "ListMap" is a map of lists. Calling things a "ListMap" where
there can be only one value doesn't fit.
Closes #255
2015-05-18 21:18:33 +02:00
451d23ca37
Add isEmpty() to MP4
...
Closes #457
2015-05-18 20:30:19 +02:00
d248f77ab9
Show something useful for ChapterFrame::toString()
...
Closes #517
2015-05-18 19:51:18 +02:00
727a11573a
Fix File::rfind() for small files to work just like ByteVector::rfind().
2015-05-19 01:24:37 +09:00
7316cd331d
Remove the null termination stuff from the ToC frames too
2015-05-18 18:17:10 +02:00
3a977c55c4
We've moved away from including the null byte in the returned value
...
This does change previous behavior, but the previous behavior was
particularly stupid and inconsistent with everything else in TagLib.
It should be possible to mitigate this by putting the same safety
guards in the TableOfContents
2015-05-18 17:29:52 +02:00
a094ce7dd2
Don't underflow if there are no embedded frames
...
Closes #513
2015-05-18 17:11:18 +02:00
ffb543acbb
Split chapter data and embedded frame data
...
This will allow us to test parsing them separately
2015-05-18 16:45:57 +02:00
fc24b3d22b
Don't require users to include a padding byte explicitly
...
This makes it where the natural construction can be used of something
like:
new ChapterFrame("ID", ... )
Closes #514
2015-05-18 16:41:30 +02:00
a9e064c58e
Also test second constructor
2015-05-18 16:30:37 +02:00
8da0013482
Add a test to check if an empty ID3v2 frame is really skipped.
2015-05-18 19:03:20 +09:00
a924ca0db7
Expand the internal buffer of ByteVector only if really needed.
...
Add tests for all execution paths of ByteVector::resize().
2015-05-14 11:20:35 +09:00
ff8443f33a
Fix the wrong padding of ByteVector::resize().
...
The expanded area will be filled with garbage instead of correct padding in some corner cases.
2015-05-02 02:43:08 +09:00
00e3504264
A little robuster tests for ByteVector iterators after detaching.
2015-04-29 17:15:13 +09:00
ab047f6054
Fix ByteVector to return correct iterators after detached.
2015-04-29 10:28:08 +09:00
066b5aa57e
Merge pull request #492 from TsudaKageyu/duplicate-id3v2-aiff-wav
...
Check AIFF/WAV files for duplicate tags.
2015-03-25 08:16:41 -04:00
4c4be0a263
Add a dummy byte to an empty ID3v2 frame to stick to the ID3v2 spec.
2015-03-22 22:14:21 +09:00
68c0b0591b
Fix a bug that Tag::setProperties() clears the date instead of the track number.
2015-03-20 13:33:13 +09:00
b69973bcf2
Fix infinite loops when parsing MP4 files.
2015-02-18 11:33:10 +09:00
30eac7569f
Check AIFF/WAV files for duplicate tags.
...
AIFF/WAV files can have duplicate tags and it leads to memory leak.
2015-02-18 11:31:55 +09:00
0839a23902
Separate the tests for fuzzed APE files.
2015-02-17 12:36:57 +09:00
e463d14f2e
Check for EOF to fix a segfault while parsing fuzzed MPC files.
2015-02-17 01:22:39 +09:00
829ae2112a
Check the packet size to fix a segfault error while parsing fuzzed MPC files.
2015-02-17 01:22:39 +09:00
65664e6855
Check for EOF to fix an infinite loop while parsing fuzzed MPC files.
2015-02-17 01:22:39 +09:00
2193d6dd84
Fix an out-of-bounds access and consequent errors while parsing fuzzed MPC files.
...
Consequent errors may vary: segfault, zerodiv and so forth.
2015-02-17 01:22:38 +09:00
2b5ee8deb9
Fix saving ID3v2/INFO tags of WAV files.
...
The old tag won't be removed when the new tag is empty.
2015-01-30 14:51:28 +09:00
9d91610fc0
Fix a wrong parameter for zlib.
...
z_stream.avail_in has to be the length of the input buffer.
It will fail when frameDataLength is smaller than the actual compressed data size.
2015-01-06 18:45:42 +09:00
c6a63a3a2f
Implement missing AIFF::File::hasID3v2Tag().
2015-01-05 18:20:31 +09:00
ed253d3691
Add some tests for huge memory allocation due to bad ID3v2 frame header flags.
...
The tests covers #466 and #486 .
Also fixes a compilation error on some compilers.
2015-01-05 09:34:30 +09:00
31982660c8
Merge pull request #485 from TsudaKageyu/oga-segfault
...
Fix a segfault when reading faulty Ogg/FLAC files.
2015-01-01 19:48:23 +01:00
7adea3df22
Separate tests for fuzzed WAV files.
2015-01-01 23:18:43 +09:00
5ebb2ece80
Fix a segfault when reading faulty Ogg/FLAC files.
2015-01-01 19:59:30 +09:00
0d2e01df61
Fix a segfault when parsing WAV properties.
2014-12-31 01:46:30 +09:00
695fb5ec16
Add a test for fuzzed WAV files.
2014-12-31 01:44:25 +09:00
977fb2aeb0
Fix compilation errors on Clang.
2014-12-31 00:41:22 +09:00
3b8c7d4e3a
Add support for AIFF-C files.
2014-12-30 23:53:40 +09:00
be33389884
Merge pull request #476 from TsudaKageyu/fuzzed-ape
...
Some fixes for fuzzed APE files.
2014-12-29 09:47:10 +01:00