| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
|
| |
| |
| |
| |
| |
| |
| | |
Usually, we read our "artist" tag from ffmpeg's "author" tag. In some
cases however (e.g. APE), this tag is named "artist". This patch
implements a fallback: if no "author" is found, MPD tries to use
"artist".
|
| |
| |
| |
| |
| |
| | |
When the ID3 tag in an AAC file is larger than the current buffer, the
function decoder_buffer_consume() aborts. By using the new function
decoder_buffer_skip() instead, we can safely skip the ID3 tag.
|
| | |
|
| |
| |
| |
| |
| | |
When parsing the songlength database fails, the code forgot to free
the memory allocated by the raw file data.
|
| | |
|
| |
| |
| |
| |
| | |
The caller is responsible fro freeing GError objects. That
g_error_free() call was missing in two places.
|
| |
| |
| |
| |
| | |
The error handler dereferences GError*, but did not retrieve that
object from g_file_get_contents().
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
doc/mpdconf.example
|
| |
| |
| |
| |
| | |
This patch made ov_time_total() unusable, and MPD did not know the
duration of songs.
|
| | |
|
| |
| |
| |
| | |
[mk: added autoconf test; fixed songlen_data_size type]
|
| | |
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
using ov_test_callback with function CALLBACKS_STREAMONLY will cause
scanning to stop after the comment field. ov_open (and ov_test)
default to CALLBACKS_DEFAULT which scans the file structure causing a
huge slowdown. The speed improvement is huge: It scanned my files
around 10x faster This procedure has been recommended by monthy (main
vorbis developer) and was said to be safe for scanning files.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Still missing:
- seeking
- tags
- streaming
- encodings other than MPG123_ENC_SIGNED_16
|
| |
| |
| |
| |
| | |
fopen change for win32 in tag dup of vorbis
win32 adaption for head changes
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
NEWS
configure.ac
|
| |
| |
| |
| |
| |
| |
| | |
The function flac_cue_track() first calls FLAC__metadata_object_new(),
then overwrites this pointer with FLAC__metadata_get_cuesheet(). This
allocate two FLAC__StreamMetadata objects, but the first pointer is
lost, and never freed.
|
| | |
|
| |
| |
| |
| |
| | |
The FLAC replaygain parser used the "||" operator. This made the code
stop after the first value which was found.
|
| |
| |
| |
| |
| | |
When one metadata check fails, return quickly. This removes 2 levels
of indent.
|
| |
| |
| |
| | |
This belongs into "git annotate" or AUTHORS.
|
| |
| |
| |
| |
| |
| |
| | |
When libid3tag is disabled, the libmad decoder plugin is unable to
identify ID3 frames. If the file starts with an (unidentified) ID3
frame, it assumes that the file is not a valid MP3 song. This patch
solves this by adding minimal stubs for the ID3 functions.
|
| | |
|
| |
| |
| |
| |
| | |
It makes no difference right now, but we're about to add an endianness
flag and will want to make sure it's correctly initialised every time.
|
|\| |
|
| |
| |
| |
| |
| |
| | |
Initialize flac_data.tag right after flac_data_init(). This way, the
"goto fail" won't jump to the point where tag_free(NULL) can be
called.
|
| | |
|
| |
| |
| |
| | |
External cue sheet file for "file.flac" should be named as "file.flac.cue".
|
| | |
|
|/
|
|
| |
Call av_metadata_get() in a loop.
|
| |
|
|
|
|
|
| |
This warning is useless. I assume the author added it for debugging
purposes.
|
|
|
|
|
| |
strcasecmp() is locale dependent, making it a bad choice for internal
string comparisons.
|
|
|
|
|
| |
strcasecmp() is locale dependent, making it a bad choice for internal
string comparisons.
|
| |
|
| |
|
| |
|
|
|
|
| |
Move the declaration of "i" into the "for" loop.
|
|
|
|
|
|
|
| |
Cuesheets are often saved as vorbis comment
flac files (CUESHEET=.. case doesn't matter).
We can parse this now and use the information to
tag the subtracks (from the embedded cuesheets).
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Previous cast to float didn't have any effect because one value is uint
and the other is a floating type but the number itself is even..
This caused some tracks to end before they were really at an end.
|
|
|
|
| |
The "mpcdec" plugin is based on the libmpcdec library.
|
| |
|
|
|
|
| |
Renamed variables and functions.
|
|
|
|
|
|
|
|
|
|
|
|
| |
On 2009/03/17 Max Kellermann<max@duempel.org> wrote:
> There doesn't seem to be an "official" standard. I'd say: search for
> TITLE[1] first (the most explicit form), then TITLE1, and finally fall
> back to TITLE. This makes sure MPD supports every possible standard,
> without breaking.
I've also added some additional checks to make sure entry is long
enough.
|
|
|
|
|
|
|
|
| |
The cue sheet embedded in a flac file doen't contain any information
about track titles and similar. There are three possibilities: Use an
external cue sheet that includes these information, use a tag CUESHEET
with a cue sheet including these information or use tags. I think the
latter is the best option and is already used by other projects.
|