Tsuda Kageyu
f34d73d319
Make FileRef::FileTypeResolver work properly.
2015-11-21 18:29:41 +09:00
Tsuda Kageyu
ef3ce1e38a
Style fixes in fileref.cpp.
2015-11-21 17:06:26 +09:00
Tsuda Kageyu
8724184d56
Fix a typo in a comment.
2015-11-21 10:32:32 +09:00
Tsuda Kageyu
61dabe61a7
Update NEWS.
2015-11-21 10:30:48 +09:00
Tsuda Kageyu
de0fc83066
Style fixes in fileref.cpp.
2015-11-21 10:29:37 +09:00
Tsuda Kageyu
c3807e59cd
Merge pull request #528 from chouquette/master
...
FileRef: Allow an IOStream to be used
2015-11-21 09:51:03 +09:00
Tsuda Kageyu
b592f78238
Unify common functions for finding tags.
...
Several classes have exactly identical functions for finding tags.
This also hides the functions from public headers.
2015-11-21 09:30:04 +09:00
Tsuda Kageyu
84e3582332
Add alternative methods to XiphComment::removeField().
...
Using XiphComment::removeField() may lead to a linkage error, however we can't fix the method itself without breaking the ABI or changing its behavior.
So we added some alternative method and marked the old one deprecated.
2015-11-20 23:28:32 +09:00
Tsuda Kageyu
ce1c03faa3
Update NEWS.
2015-11-20 23:08:43 +09:00
Tsuda Kageyu
94c941928a
Merge pull request #654 from TsudaKageyu/xiph-setcomment
...
Fix XiphComment::setComment() for the case that a Vorbis comment has …
2015-11-20 23:02:51 +09:00
Tsuda Kageyu
8c6fe45453
Avoid using String::null where an empty string is required.
...
String::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-20 22:21:47 +09:00
Tsuda Kageyu
c4fe65787c
Avoid using String::isNull() where it is considered to be confused with isEmpty().
2015-11-20 20:59:13 +09:00
Tsuda Kageyu
29b0568dec
Revert "Add a test about handing "COMMENT" and "DESCIPRION" fields in XiphComment."
...
This reverts commit 8f147034d6af7a4c2830b3113d4b257c1836fabe.
2015-11-20 14:18:40 +09:00
Tsuda Kageyu
7d0a651f3e
Revert "Use always "COMMENT" field when updating XiphComment."
...
This reverts commit ba5137bf2d3b1bcca9269e3a7f5f194243c87d23.
2015-11-20 14:18:23 +09:00
Tsuda Kageyu
224f133d65
Merge pull request #643 from TsudaKageyu/save-asf
...
Avoid writing duplicate tags when saving ASF files.
2015-11-20 13:52:33 +09:00
Tsuda Kageyu
f956c89141
Remove a warning from a comment and update NEWS.
2015-11-20 13:48:51 +09:00
Tsuda Kageyu
6dc8d701a8
Avoid writing duplicate tags when saving ASF files.
...
Reduce memory reallocations and copies when saving ASF files.
2015-11-20 13:48:25 +09:00
Tsuda Kageyu
779f904940
Update NEWS.
2015-11-20 13:35:07 +09:00
Tsuda Kageyu
4161746d89
Update NEWS.
2015-11-20 13:25:28 +09:00
Tsuda Kageyu
6d5654028a
Merge pull request #642 from TsudaKageyu/strip-and-properties
...
Fix segfaults when calling File::properties() after strip().
2015-11-20 13:24:01 +09:00
Tsuda Kageyu
93d55dafd6
Update NEWS.
2015-11-20 10:50:21 +09:00
Tsuda Kageyu
e1e1b6c60c
Merge pull request #623 from TsudaKageyu/erase-duplicate-id3v2
...
Skip duplicate ID3v2 tags and treat them as an extra blank of the first one.
2015-11-20 10:49:11 +09:00
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