Patch by Alex Novichkov, slightly modified by me (code formatting + tests).
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1145554 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
We already do this for TDAT. Using both parts, the year and the date,
would be better we the code currently doesn't have enough context to
do that.
BUG:228968
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1110552 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
To consider something a valid MP4 file, it must have a 'moov' atom. Otherwise
it's marked as invalid and we won't try to read/write tags.
CCBUG:216819
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1062426 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
The default type for this attribute is String, but even MSDN suggests to
support also DWORD, because some applications write such files.
BUG:218526
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1062026 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Prevously TagLib saved tags to the first block, but read them from the
last one. Having multiple VC blocks is a non-standard situation, but
this is the best we can do (libFLAC also uses the first block in the
case of multiple VC blocks).
BUG:211089
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1043985 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This fixes a problem introduced in r983337. OGA files are mostly likely going
to be Ogg::FLAC, if applications are following the Xiph recommendation. But
they can be using any Ogg codec, so we must check multiple formats (Sound Juicer
on Ubuntu used to produce .oga files for Ogg Vorbis, I believe it doesn't do that
anymore).
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1039708 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Since bool and int have the same size on x86 architectures, this worked for
me, but since they have a different size on ppc64, it caused the test to
fail. See http://marc.info/?l=taglib-devel&m=125291701231305&w=2 for details.
We should store the type in MP4::Item and do some type checking to avoid
mistakes like this...
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1023246 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
The implementation is not very efficient, but the current Ogg
code makes it hard to write it properly. :(
Patch by Marc Halbruegge
BUG:171957
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1019459 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This is based on patches by Marc Halbruegge, but those only deal with
read-only cases. The code now also correctly adds padding to RIFF
chunks, and calculates offsets in chunkData taking the padding into
account.
BUG:171957
BUG:175781
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1003745 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
We still can't handle actual 64-bit atoms, but we can handle 32-bit sizes
stored in 64 bits.
CCBUG:198730
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@1001897 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
* Don't join multiple 2.4 TCON fields together
* Don't add duplicate fields for 2.3 genres where the refinement matches the ID3v1 genre
Patch by Michael Smith
BUG:188578
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@994805 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
-remove some unnecessary code
-use BIN_INSTALL_DIR for the RUNTIME destination
Alex
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@891512 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
Scott: If you think this is really a bad idea, please revert.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@883108 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
- '\xFF\xFE' and '\xFE\xFF' are valid, but empty, UTF-16 strings -- don't print a warning
- print a warning on strings that don't start with a valid BOM
BUG:156076
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@764385 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
The code is inside a '#ifndef NO_ITUNES_HACKS' block, so I hope it's ok to add it.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@743534 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
out the configure check is fixed. Once the configure check is fixed this can be
commented back in.
CCMAIL:lalinsky@gmail.com
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@735161 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
This is last of the three formats implemented for libtunepimp, now used also by various players.
BUG:114982
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@735116 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
According to the spec, the identifier contains arbitrary binary data (which
includes \0). That means splitting it on \0 and checking if we have only
two parts is wrong, because it rejects valid frames.
git-svn-id: svn://anonsvn.kde.org/home/kde/trunk/kdesupport/taglib@735109 283d02a7-25f6-0310-bc7c-ecb5cbfe19da