| Commit message (Collapse) | Author | Files | Lines |
|
Remove the data_time parameter from decoder_data(). This patch
eliminates the timestamp counting in most decoder plugins, because the
MPD core will do it automatically by default.
|
|
|
|
This patch prepares support for floating point samples (and probably
other formats). It changes the meaning of the "bits" attribute from a
bit count to a symbolic value.
|
|
Let the audio_check library verify the audio format in all (relevant,
i.e. non-hardcoded) plugins.
|
|
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.
|
|
|
|
Call decoder_initialize() before entering the loop. We don't need to
call ov_read() before ov_info(). When the stream number changes,
check if the audio format is still the same.
|
|
|
|
Use the struct name instead.
|
|
|
|
This is done by audio_format_init().
|
|
Allow those plugins to open large files on 32 bit platforms.
|
|
svn r13289 of libvorbis introduced static callbacks (like OV_CALLBACKS_DEFAULT)
defined in "vorbisfile.h" header. First released version with this change is libvorbis-1.2.2.
In libversion-1.2.3 OV_EXCLUDE_STATIC_CALLBACKS define was added to avoid
warnings about unused static callbacks. Information on the OV_EXCLUDE_STATIC_CALLBACKS
can be found in http://svn.xiph.org/trunk/vorbis/CHANGES.
|
|
|
|
This patch made ov_time_total() unusable, and MPD did not know the
duration of songs.
|
|
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.
|
|
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.
|
|
|
|
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.
|
|
Renamed numOfItems to num_items.
|
|
"ls" is a bad name for a library which parses URIs. We'll move the
rest of the "ls" library later.
|
|
Fixed the log domains of the renamed decoders. Added G_LOG_DOMAIN
macros in decoders which don't have one already.
|
|
This plugin uses libvorbis.
|
|
When libvorbis knows that a song is seekable, it seeks around like
crazy in the file before starting to decode it. This is very
expensive on remote HTTP resources, and delays MPD for 10 or 20
seconds.
This patch disables seeking on remote songs, because the advantages of
quickly playing a song seem to weigh more than the theoretical ability
of seeking for most MPD users. If users feel this feature is needed,
we will make a configuration option for that.
|
|
This patch allows mpd to recognise the albumartist tag in the way foobar2000
and others write it to files.
|
|
Don't depend on the daemon's locale settings. Comment names are
ASCII.
|
|
vorbis_parse_comment() should be a function which converts one comment
to a tag item. It should do everything required to do the conversion,
including looping over all possible tag types.
|
|
|
|
Eliminate some duplicate code.
|
|
Always allocate a new tag object before parsing the vorbis comments;
free it when it turns out to be empty. This simplifies the code a
bit.
|
|
Renamed functions and variables.
|
|
Make ogg_parseCommentAddToTag() return bool instead of unsigned int.
|
|
|
|
"#ifdef G_BYTE_ORDER == G_BIG_ENDIAN" cannot work, of course.
|
|
|
|
Use GLib's G_GNUC_UNUSED instead of gcc.h's mpd_unused.
|
|
SEEK_SET is defined by unistd.h. Explicitly include it.
|
|
Refuse to play audio formats which are not supported by MPD.
|
|
|
|
The ov_info() return value may be corrupt when ov_read() did not
return a positive value. First check for success, then check
ov_info().
|
|
Unfortunately, ov_fopen() is not supported by libvorbis versions older
than 1.2.
|
|
Due to an unnoticed merge error, there was a superfluous "}". Remove
it.
|
|
Move the reponsibility for freeing the file handle to libvorbis.
|
|
|
|
Eliminate two decoder_get_command() invocations from the main loop.
|
|
Don't let the buffer grow until it is full, flush it whenever there is
data available.
|
|
The stream_decode() and file_decode() methods returned a boolean,
indicating whether they were able to decode the song. This is
redundant, since we already know that: if decoder_initialized() has
been called (and dc.state==DECODE), the plugin succeeded. Change both
methods to return void.
|
|
Having an array instead of individual variables allows the use of the
replay_gain_mode enum as an array index.
|
|
Some code simplification. Avoid pointers to pointers.
|