| Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
WavPack tags are always APEv2, by definition. Reuse the tag_table
from tag_ape.c, instead of rolling our own.
|
|
Ignore APE tags that have no usable tags, and use the ID3 tag instead.
This is useful when the APE tag only contains replay gain, and the
real tags are stored as ID3. This implements feature request Mantis
#0003521.
|
|
Use _scan() instead, to have more control.
|
|
The new method pair() receives an arbitrary name/value pair. Support
for this is being added to a few decoder plugins.
|
|
Pass a callback table to scan_file() and scan_stream(), instead of
returning a tag object.
|
|
The struct is smaller because it is sparse. Its traversal is also
more efficient.
|
|
|
|
One APE tag may contain more than one value, separated by null bytes.
|
|
Generic library for scanning APE tags. Eliminated one "goto"!
|
|
Reuse the function tag_name_parse_i().
|
|
|
|
Allow code sharing.
|
|
I took this tag name from a MusePack sample file I got from a user.
It is not documented in the APE specification:
http://wiki.hydrogenaudio.org/index.php?title=APE_key
People seem to be using undocumented extensions to the specification
anyway, and the best we can do is attempt to support them.
|
|
Make "enum tag_type" the array index, and convert apeItems to a sparse
array.
|
|
Improve code readability.
|
|
Don't initialize those arrays each time tag_ape_load() is called.
|
|
Reuse the function tag_name_parse_i().
|
|
|
|
Allow code sharing.
|
|
I took these tag names from a MusePack sample file I got from a user.
These are not documented in the APE specification:
http://wiki.hydrogenaudio.org/index.php?title=APE_key
People seem to be using undocumented extensions to the specification
anyway, and the best we can do is attempt to support them.
|
|
Add the flag "b" to fopen(). Windows compatibility.
|
|
|
|
After we've been hit by Large File Support problems several times in
the past week (which only occur on 32 bit platforms, which I don't
have), this is yet another attempt to fix the issue.
|
|
|
|
Make "enum tag_type" the array index, and convert apeItems to a sparse
array.
|
|
Improve code readability.
|
|
Don't initialize those arrays each time tag_ape_load() is called.
|
|
The function tag_ape_load() retrieves a 32 bit unsigned integer from
the input file, and passes it to g_malloc(). This is dangerous, and
may be used for a denial of service attack on MPD.
|
|
Extend the tagLen check after reading it. Removed the second
(redundant) check after the subtraction.
|
|
The expression "tagLen - size > 0" may result in an integer underflow
and a buffer overflow, when "size" is larger than "tagLen". "size" is
read from the input file, and must not be trusted. This patch changes
the expression to "tagLen > size", which is a lot safer.
|
|
strcasecmp() is locale dependent, making it a bad choice for internal
string comparisons.
|
|
This updates the copyright header to all be the same, which is
pretty much an update of where to mail request for a copy of the GPL
and the years of the MPD project. This also puts all committers under
'The Music Player Project' umbrella. These entries should go
individually in the AUTHORS file, for consistancy.
|
|
|