| Commit message (Collapse) | Author | Files | Lines |
|
[mk: added autoconf test; fixed songlen_data_size type]
|
|
|
|
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
|
|
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.
|
|
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.
|
|
|
|
External cue sheet file for "file.flac" should be named as "file.flac.cue".
|
|
|
|
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.
|
|
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.
|
|
On failure, the function should return NULL, not a boolean.
|
|
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.
|
|
So far only seekpoints are supported, so no proper tagging yet
except for track number and track length.
Tagging should be done by parsing the cue sheet which
is often embedded as vorbis comment in flac files.
Furthermore the pathname should be configurable like "%A - %t - %T",
where %A means Artist, %t track number and %T Title or so.
|
|
[mk: fixed whitespace errors; use delete_song() instead of
songvec_delete()]
|
|
After the decoder command was obtained, don't wait until libflac
detects EOF (as a side effect), quit the decoder immediately. This
check was missing completely.
|
|
When the MPD core sends the decoder a command while
flac_process_single() is executed, this function fails. Abort the
decoder only if not seeking. This fixes a seeking bug.
|
|
implemetation
function was implemented in the version we are comparing to so there must be higher or equal
|
|
|
|
|
|
Parse the vorbis comments in libflac's metadata_callback and pass them
as tag struct to the decoder API.
|
|
Don't hard code the "bits" parameter to 16. Try to use the input's
sample format, if possible.
|
|
decoder_data() returns a decoder_command, no need to call
decoder_get_command() twice after decoder_command().
|
|
If an input_stream is not seekable, libaudiofile fails to play at all:
Audio File Library: unrecognized audio file format [error 0]
Since we know in advance whether the input_stream is seekable, just
refuse to play on a non-seekable stream.
|
|
Renamed several variables and a function.
|