Tsuda Kageyu
1cc3e4cc57
Consistent rounding when calculating the MP4 audio length.
2015-11-19 18:24:20 +09:00
Tsuda Kageyu
f310b1810d
Update NEWS.
2015-11-19 17:55:18 +09:00
Tsuda Kageyu
e10684312e
Efficient lookup for an ID3v2 tag in a MPEG file.
...
An ID3v2 tag or MPEG frame is most likely be at the beginning of the file.
2015-11-19 17:31:51 +09:00
Tsuda Kageyu
a3564d8c68
Efficient lookup for the MP4/ASF field name and ID3v1 genre tables.
...
Linear lookup is much faster and memory efficient when an array is very small.
2015-11-19 16:35:55 +09:00
Tsuda Kageyu
95ef0e7882
Add some tests for String::toInt() with too large values.
2015-11-19 14:52:02 +09:00
Tsuda Kageyu
13a258d9ed
Backport shorter versions of some functions from taglib2.
2015-11-19 14:45:36 +09:00
Tsuda Kageyu
72a807def1
Fix a string conversion bug in tag_c.cpp.
2015-11-19 11:50:39 +09:00
Tsuda Kageyu
539d951277
Avoid using ByteVector::null where an empty vector is required.
...
ByteVector::null is not necessarily be empty or remains the same instance.
Using it in a public header may lead to a linkage error.
2015-11-19 10:52:46 +09:00
Tsuda Kageyu
21788f4a26
Efficient lookup for the ID3v2 frame ID table.
...
Linear lookup is much faster and memory efficient when an array is very small.
2015-11-19 10:07:10 +09:00
Tsuda Kageyu
74cb6f3fc7
Merge pull request #493 from TsudaKageyu/nested-refcounter
...
Simplify overly complicated ByteVector::mid() implementation.
2015-11-19 09:37:40 +09:00
Tsuda Kageyu
e0f1151c5c
Resolve some conflicts before merging.
2015-11-19 09:27:15 +09:00
Tsuda Kageyu
10e1fcd686
Consistent notations between ByteVector::data() and at().
2015-11-19 09:23:20 +09:00
Tsuda Kageyu
3bce77a359
Use linear search instead of the Knuth-Morris-Pratt algorithm in ByteVector::find().
...
In almost all cases, it handles too small data for KMP to work effectively.
2015-11-19 09:23:19 +09:00
Tsuda Kageyu
0ffd2e8ab9
Replace DATA macro with more straightforward notations.
2015-11-19 09:23:19 +09:00
Tsuda Kageyu
7e85d9b202
Simplify overly complicated ByteVector::mid() implementation.
...
Especially remove the useless nested RefCounters.
2015-11-19 09:23:19 +09:00
Tsuda Kageyu
c6443dabc6
Use the same type name between a List and its iterator.
2015-11-18 17:58:13 +09:00
Tsuda Kageyu
c5db39fbf4
Merge pull request #661 from ufleisch/podcast-frames
...
Support for Apple podcast frames
2015-11-18 17:48:14 +09:00
Tsuda Kageyu
b6469bda1a
Merge pull request #628 from RyanLucchese/rl-ConstReverseIterator-solaris-bug
...
return const correct reverse iterator for newer Sun compiler
2015-11-18 17:23:16 +09:00
Tsuda Kageyu
978a5f0a27
Merge pull request #629 from RyanLucchese/rl-fix-class-instantiation-solstudio
...
check SUNPRO_CC version before using Map workaround
2015-11-18 17:22:25 +09:00
Tsuda Kageyu
8203ccf04c
Merge pull request #608 from TsudaKageyu/mp4-has-tags
...
Add a method to check if an MP4 file on disk actually has a tag.
2015-11-18 17:14:26 +09:00
Tsuda Kageyu
47860c20f4
Make use of List iterators.
2015-11-18 17:06:49 +09:00
Tsuda Kageyu
6e6e11f21a
Use List::isEmpty() rather than size() to check if the list is empty.
...
std::list::empty() is guaranteed to be an O(1) operation.
2015-11-18 16:57:41 +09:00
Tsuda Kageyu
288e97ad44
Make use of List iterators.
2015-11-18 16:38:30 +09:00
Tsuda Kageyu
07b26ab3e4
Make use of List iterators and setAutoDelete().
2015-11-18 15:29:04 +09:00
Tsuda Kageyu
0f00dfc778
Add a comment to List::isEmpty().
2015-11-18 15:14:50 +09:00
Tsuda Kageyu
b01fecd280
Separate some tests for MP4::File::hasMP4Tag().
2015-11-18 14:25:22 +09:00
Tsuda Kageyu
69921b8090
Amend the comment on MP4::File::hasMP4Tag().
2015-11-18 14:17:29 +09:00
Tsuda Kageyu
1caaa8a020
Reduce duplicate code between String::ctor() and operator=().
...
It's safer to have only one pair of ref()/deref() than to have a several pairs.
2015-11-18 14:03:45 +09:00
Tsuda Kageyu
4f3844114a
Mark some variables and functions deprecated.
...
ByteVector::null, ByteVector::isNull(), String::null, String::isNull() have got marked deprecated.
It's dangerous to use them, and they will be removed in taglib2.
2015-11-18 10:29:25 +09:00
Tsuda Kageyu
76de4234a1
Add a test for the CRC checksum of Ogg pages.
2015-11-17 15:05:43 +09:00
Tsuda Kageyu
4bac99e3da
Add some notes about ByteVector::isNull() and ByteVector::null.
2015-11-17 13:06:03 +09:00
Tsuda Kageyu
6b7a2c4cf7
Add some notes about String::isNull() and String::null.
2015-11-17 11:41:13 +09:00
Tsuda Kageyu
1a942627bf
Add String::clear() method to clear the string.
2015-11-17 11:29:52 +09:00
Tsuda Kageyu
3128f425b8
vsnprintf()/vsprintf() does not necessarily return -1 when failed.
2015-11-17 11:06:19 +09:00
Tsuda Kageyu
3f968933f4
Use std::wstring::empty() rather than size() == 0.
...
Depending on the implementation, empty() can be more efficient than size().
2015-11-17 10:49:30 +09:00
Tsuda Kageyu
67f44071cd
Fix the usage of boost::endian::endian_reverse().
2015-11-14 14:49:59 +09:00
Tsuda Kageyu
11fbf394a3
Skip duplicate ID3v2 tags and treat them as an extra blank of the first one.
...
This enables all the file formats to handle duplicate ID3v2 tags properly and erase them automatically.
2015-11-13 11:55:56 +09:00
Tsuda Kageyu
a25e1e9f90
Correct the ID3v2 padding size calculation.
2015-11-13 11:44:12 +09:00
Tsuda Kageyu
091ab9dee0
Reduce memory reallocation when rendering an ID3v2 tag.
...
Prevent an ID3v2 padding from being ridiculously large.
2015-11-13 11:35:37 +09:00
Tsuda Kageyu
c353a71ce5
Remove an unused private data member.
2015-11-13 11:23:27 +09:00
Tsuda Kageyu
762581fe3f
Add a method to check if an MP4 file on disk actually has a tag.
2015-11-13 11:14:12 +09:00
Tsuda Kageyu
8f147034d6
Add a test about handing "COMMENT" and "DESCIPRION" fields in XiphComment.
2015-11-13 11:07:50 +09:00
Tsuda Kageyu
6775cef651
Make use of the Boost Endian library for byte swapping.
...
It's likely to be better at choosing the most efficient method than our CMake tests.
2015-11-13 10:58:23 +09:00
Tsuda Kageyu
86c7e905ba
Silence some MSVC security warnings by replacing strdup() with _strdup().
...
Backported from taglib2.
2015-11-13 10:06:01 +09:00
Sander Jansen
2184aa476f
xiph: preserve any picture data we can't decode in the text comments
2015-11-12 08:50:34 -06:00
Sander Jansen
3e8eff16b8
another style fix
2015-11-12 08:50:34 -06:00
Sander Jansen
41a44f4ab2
Support reading deprecated COVERART xiphcomment
2015-11-12 08:50:34 -06:00
Sander Jansen
70e471f1d1
Check if saved picture can be read back correctly
2015-11-12 08:50:34 -06:00
Sander Jansen
f836cb4dea
Two more spaces
2015-11-12 08:50:34 -06:00
Sander Jansen
47bd01ecda
Minor style fixes
2015-11-12 08:50:34 -06:00