- 15 Feb, 2009 3 commits
-
-
Max Kellermann authored
Preparing for per-plugin configuration sections in mpd.conf.
-
Max Kellermann authored
Minimize header dependencies, again.
-
Max Kellermann authored
The decoder_plugin struct is used by both the MPD core and the decoder plugin implementations. Move it to a shared header file, to minimize header dependencies.
-
- 18 Jan, 2009 1 commit
-
-
Max Kellermann authored
Fetch the configuration variables buffered_chunks and buffered_before_play just when they are needed.
-
- 17 Jan, 2009 2 commits
-
-
Max Kellermann authored
Some plugins used the APE or ID3 tag loader as a fallback when their own methods of loading tags did not work. Move this code out of all decoder plugins, into song_file_update().
-
Max Kellermann authored
-
- 04 Jan, 2009 1 commit
-
-
Max Kellermann authored
-
- 11 Nov, 2008 3 commits
-
-
Max Kellermann authored
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.
-
Max Kellermann authored
Renamed functions and variables.
-
Max Kellermann authored
No CamelCase file names.
-
- 10 Nov, 2008 1 commit
-
-
Max Kellermann authored
Instead of having a seprate try_decode() method, let the stream_decode() and file_decode() methods decide whether they are able to decode the song.
-
- 09 Nov, 2008 1 commit
-
-
Max Kellermann authored
Updated documentation on the stream_decode() and file_decode() return values.
-
- 04 Nov, 2008 1 commit
-
-
Max Kellermann authored
Instead of checking the stream_types bit set, we can simply check whether the methods stream_decode() and file_decode() are implemented.
-
- 02 Nov, 2008 2 commits
-
-
Max Kellermann authored
Provide an API for submitting additional tags from the stream.
-
Max Kellermann authored
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.
-
- 01 Nov, 2008 1 commit
-
-
Max Kellermann authored
Currently, there is no way to dynamically load decoder plugins, thus we don't need a dynamic list to manage them.
-
- 31 Oct, 2008 2 commits
-
-
Max Kellermann authored
-
Max Kellermann authored
"LOG_H" is a macro which is also used by ffmpeg/log.h. This is ffmpeg's fault, because short macros should be reserved for applications, but since it's always a good idea to choose prefixed macro names, even for applications, we are going to do that in MPD.
-
- 30 Oct, 2008 1 commit
-
-
Max Kellermann authored
Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
-
- 29 Oct, 2008 2 commits
-
-
Max Kellermann authored
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().
-
Max Kellermann authored
Call ob_clear() in decoder_command_finished() instead of implementing that call in every decoder plugin.
-
- 26 Oct, 2008 1 commit
-
-
Max Kellermann authored
Renamed inputStream.c and inputStream_file.c.
-
- 17 Oct, 2008 1 commit
-
-
Max Kellermann authored
Provide a struct type which can be forward-declared. The typedef InputStream is deprecated now.
-
- 08 Oct, 2008 1 commit
-
-
Max Kellermann authored
"bool" should be used in C99 programs for boolean values.
-
- 29 Sep, 2008 2 commits
-
-
Max Kellermann authored
Why have a "_func" prefix on all method names? Also don't typedef the methods, there is no advantage in that.
-
Max Kellermann authored
Do full C99 integer type conversion in all modules which were not touched by Eric's merged patch.
-
- 07 Sep, 2008 1 commit
-
-
Max Kellermann authored
Get rid of CamelCase, and don't use a typedef, so we can forward-declare it, and unclutter the include dependencies.
-
- 29 Aug, 2008 2 commits
-
-
Max Kellermann authored
The ID3 code uses only the public tag API, but is otherwise unrelated. Move it to a separate source file.
-
Max Kellermann authored
Getting rid of CamelCase; not having typedefs also allows us to forward-declare the structures.
-
- 26 Aug, 2008 11 commits
-
-
Max Kellermann authored
The decoder plugins need this type, so export it in the public API. This allows is to remove "decode.h" from "decoder_api.h", uncluttering the API namespace some more.
-
Max Kellermann authored
Now that "dc" is available here, we don't have to pass it to decoder_is_idle() and decoder_is_starting() anymore.
-
Max Kellermann authored
On our way to stabilize the decoder API, we will one day remove the input stream functions. The most basic function, read() will be provided by decoder_api.h with this patch. It already contains a loop (still with manual polling), error/eof handling and decoder command checks. This kind of code used to be duplicated in all decoder plugins.
-
Max Kellermann authored
With the functions decoder_plugin_register() and decoder_plugin_unregister(), decoder plugins can register a "secondary" plugin, like the flac input plugin does this for "oggflac".
-
Max Kellermann authored
-
Max Kellermann authored
Continuing the effort to rename InputPlugin to decoder_plugin...
-
Max Kellermann authored
"decoder plugin" is a better name than "input plugin", since the plugin does not actually do the input - InputStream does. Also don't use typedef, so we can forward-declare it if required.
-
Max Kellermann authored
(Ab)use the decoder_command enumeration, which has nearly the same values and the same meaning.
-
Max Kellermann authored
The wavpack decoder plugin implements a hack, and it needs the song URL for that. This API (and the hack) should be revised later, but add that function for now.
-
Max Kellermann authored
Provide access to seeking for the decoder plugins; they have to know where to seek, and they need a way to tell us that seeking has failed.
-
Max Kellermann authored
Some decoder commands are implemented in the decoder plugins, thus they need to have an API call to signal that their current command has been finished. Let them use the new decoder_command_finished() instead of the internal dc_command_finished().
-