| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Make it X_decoder_plugin.c.
|
|
|
|
|
|
| |
This function replaces the replay_gain_info parameter for
decoder_data(). This allows the decoder to announce replay gain
changes, instead of having to pass the same object over and over.
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Pass the audiofile_setup_sample_format() result to
audio_format_init_checked().
|
| |
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
The input_stream object should only be closed by the MPD core
(i.e. decoder_thread.c / decoder_run()). A decoder plugin which
attempts to close it will result in a segmentation fault.
|
| |
|
|
|
|
| |
Refuse to play audio formats which are not supported by MPD.
|
| |
|
|
|
|
| |
[mk: by definition, tag_new() cannot fail - removed check]
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
Instead of checking the stream_types bit set, we can simply check
whether the methods stream_decode() and file_decode() are implemented.
|
|
|
|
|
|
| |
Don't pass the "seekable" flag with every decoder_data() invocation.
Since that flag won't change within the file, it is enough to pass it
to decoder_initialized() once per file.
|
|
|
|
|
| |
The strings were constant, but the pointers weren't. C syntax is
somewhat tricky..
|
|
|
|
|
| |
All decoder_plugin structs are initialized at compile time, and must
never change.
|
| |
|
|
|
|
|
| |
Don't return 0/-1 on success/error, but true/false. Instead of int,
use bool for storing flags.
|
|
|
|
|
|
|
| |
A decoder_flush() invocation was missing in the FLAC plugin, resulting
in casual assertion failures due to a wrong assumption about the last
chunk's audio format. It's much easier to remove that decoder_flush()
function and make the decoder thread call ob_flush().
|
|
|
|
|
| |
Call ob_clear() in decoder_command_finished() instead of implementing
that call in every decoder plugin.
|
|
These plugins are not input plugins, they are decoder plugins. No
CamelCase in the directory name.
|