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
Tsuda Kageyu
ba5137bf2d
Use always "COMMENT" field when updating XiphComment.
...
The recommended field name for additional comments is "COMMENT".
It's the same behavior as "DATE" or "TRACKNUMBER" field.
2015-11-12 17:37:22 +09:00
Tsuda Kageyu
b3cea6cca7
Fix XiphComment::setComment() for the case that a Vorbis comment has the "COMMENT" field.
2015-11-12 17:16:47 +09:00
Tsuda Kageyu
a533b9c665
Hide private things from a public header.
...
Some functions and a variable in tstring.h are not needed to be exposed in a public header.
2015-11-12 15:36:02 +09:00
Tsuda Kageyu
ec8e611909
Fix an instance reference to a static data member.
2015-11-12 14:48:24 +09:00
Tsuda Kageyu
c66e6b27d9
Small cleanups in CMakeLists.txt.
2015-11-12 14:41:15 +09:00
Tsuda Kageyu
1d379fdb2f
Small cleanups in audioproperties.cpp.
2015-11-12 14:24:04 +09:00
Tsuda Kageyu
47813c5a7f
A bit more accurate calculation of the AIFF audio length.
...
Actually, it's unlikely to improve the accuracy, but prevents a useless round-trip conversion between double and int.
2015-11-12 14:10:09 +09:00
Tsuda Kageyu
94ff9124c7
Skip both ID3v1 and APE tags when seeking the last MPEG frame.
2015-11-12 13:52:46 +09:00
Lukáš Lalinský
9f697fce8e
1.10
v1.10
2015-11-11 22:41:59 +01:00
Tsuda Kageyu
320d0f5ad7
Use List::isEmpty() than size() > 0.
...
Small revision of pokowaka's fix. isEmpty() is a little better than size() > 0, since std::list::empty() is guaranteed to be an O(1) operation.
2015-11-06 16:13:43 +09:00
Tsuda Kageyu
77087cf865
Merge pull request #675 from garima-g/patch-1
...
Add self-assignment check in operator=
2015-11-05 15:43:03 +09:00
garima-g
8b4a27beb4
Add self-assignment check in operator=
...
Method 'operator=' should check its argument with 'this' pointer.
2015-11-05 11:19:44 +05:30
garima-g
998ebf4ce6
Add self-assignment check in operator=
...
Method 'operator=' should check its argument with 'this' pointer.
2015-11-05 11:16:34 +05:30
garima-g
ccaf650214
Add self-assignment check in operator=
...
Method 'operator=' should check its argument with 'this' pointer.
2015-11-05 11:12:24 +05:30
garima-g
9fad0b28a5
Add self-assignment check in operator=
...
Method 'operator=' should check its argument with 'this' pointer.
2015-11-05 11:09:20 +05:30
Lukáš Lalinský
153820bf12
Merge pull request #669 from pokowaka/bad_access
...
Fixes access violation
2015-10-12 14:30:00 +02:00
Erwin Jansen
29be00dc59
Fixes access violation
...
- Fixes access violation when setting empty stringlist on integer
properties in mp4 tag
- Add a unit test that validates the fix.
2015-10-09 22:11:27 -07:00
Stephen F. Booth
ab30ec3a6f
Merge pull request #664 from pbhd/master
...
add options R, I, D for replace/insert/delete of arbitrary tags
2015-09-23 23:09:55 -04:00