aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/flac_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* decoder: check audio_format_valid() in all decodersMax Kellermann2008-11-211-0/+8
| | | | Refuse to play audio formats which are not supported by MPD.
* flac, oggflac: use GLib instead of utils.h/log.hMax Kellermann2008-11-211-15/+10
|
* input_stream: size==-1 means unknown sizeMax Kellermann2008-11-161-0/+3
| | | | | | Define the special value "-1" as "unknown size". Previously, there was no indicator for streams with unknown size, which might confuse some decoders.
* decoder: return void from decode() methodsMax Kellermann2008-11-111-9/+9
| | | | | | | | 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.
* replay_gain: no CamelCaseMax Kellermann2008-11-111-1/+1
| | | | Renamed functions and variables.
* decoder: removed plugin method try_decode()Max Kellermann2008-11-101-7/+7
| | | | | | 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.
* flac: call flac_process_metadata() for ogg filesMax Kellermann2008-11-101-4/+5
| | | | | | | The flac plugin wasn't initialized properly when an OGG file was being decoded. For some reason, flac_process_metadata() was explicitly not called for OGG files. Since that seems to fix the issue, make it always call flac_process_metadata().
* flac: enable the oggflac plugin with older libflac versionsMax Kellermann2008-11-101-3/+14
| | | | | | | | | Since decoder_list.c does not include the libflac headers, it cannot know whether to add the oggflac plugin to the decoder list. Solve this by always enabling the oggflac sub-plugin, even with older libflac versions. When the libflac API cannot support oggflac, disable the plugin at runtime by returning "false" from its init() method.
* flac: make the init() method check for oggflac supportMax Kellermann2008-11-091-2/+8
| | | | | Disable flac's "oggflac" sub-plugin when libflac does not support ogg-flac files.
* decoder: removed stream_typesMax Kellermann2008-11-041-2/+0
| | | | | Instead of checking the stream_types bit set, we can simply check whether the methods stream_decode() and file_decode() are implemented.
* decoder_api: pass "seekable" flag to decoder_initialized()Max Kellermann2008-11-021-1/+2
| | | | | | 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.
* decoder: make the suffixes and mime_types arrays really constMax Kellermann2008-11-011-9/+11
| | | | | The strings were constant, but the pointers weren't. C syntax is somewhat tricky..
* decoder: make all decoder_plugin structs constMax Kellermann2008-11-011-2/+2
| | | | | All decoder_plugin structs are initialized at compile time, and must never change.
* decoder_api: pass constant path pointersMax Kellermann2008-10-311-3/+3
|
* decoder: use bool for return values and flagsMax Kellermann2008-10-301-14/+15
| | | | | Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
* decoder_api: removed decoder_clear()Max Kellermann2008-10-291-1/+0
| | | | | Call ob_clear() in decoder_command_finished() instead of implementing that call in every decoder plugin.
* input_stream: use "bool" instead of "int"Max Kellermann2008-10-261-2/+1
| | | | | For boolean values and success flags, use bool instead of integer (1/0 for true/false, 0/-1 for success/failure).
* input_stream: no CamelCaseMax Kellermann2008-10-261-3/+3
| | | | Renamed all functions and variables.
* input_stream: removed the InputStream typedefMax Kellermann2008-10-261-5/+9
| | | | Everybody should use struct input_stream.
* renamed src/inputPlugins/ to src/decoder/Max Kellermann2008-10-261-0/+459
These plugins are not input plugins, they are decoder plugins. No CamelCase in the directory name.