aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/mod_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* mikmod: convert mod_Data.audio_buffer to a static arrayMax Kellermann2008-12-281-3/+1
| | | | Don't do two allocations for the mod_Data structure.
* decoder: return void from decode() methodsMax Kellermann2008-11-111-4/+2
| | | | | | | | 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.
* decoder: removed stream_typesMax Kellermann2008-11-041-1/+0
| | | | | Instead of checking the stream_types bit set, we can simply check whether the methods stream_decode() and file_decode() are implemented.
* mod: removed boolean globals for lazy initMax Kellermann2008-11-031-15/+4
| | | | | The variables mod_mikModInitiated and mod_mikModInitError were used to control lazy initialization, but they are superfluous now.
* mod: always initialize libmikmodMax Kellermann2008-11-031-8/+1
| | | | | | | The "mod" decoder plugin was being initialized lazily, but was deinitialized unconditionally. That led to segmentation faults. Convert mod_initMikMod() to be the global module initialization method. The MPD core should care about lazy initialization.
* aac, mod: moved decoder command check into loop conditionMax Kellermann2008-11-021-10/+5
| | | | | Avoid while(true) loops, and convert them to a loop with a proper condition.
* aac, mod: don't check for SEEK commandMax Kellermann2008-11-021-4/+0
| | | | | | Since the aac and mod plugins have told MPD that they cannot seek, MPD will never send a SEEK command to them. Removed the SEEK comand checks from both plugins.
* decoder_api: pass "seekable" flag to decoder_initialized()Max Kellermann2008-11-021-2/+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-1/+2
| | | | | The strings were constant, but the pointers weren't. C syntax is somewhat tricky..
* decoder: make all decoder_plugin structs constMax Kellermann2008-11-011-1/+1
| | | | | All decoder_plugin structs are initialized at compile time, and must never change.
* decoder_api: pass constant path pointersMax Kellermann2008-10-311-6/+20
|
* decoder: use bool for return values and flagsMax Kellermann2008-10-301-15/+16
| | | | | Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
* decoder: automatically flush the output buffer after decoder exitsMax Kellermann2008-10-291-2/+0
| | | | | | | 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().
* renamed src/inputPlugins/ to src/decoder/Max Kellermann2008-10-261-0/+278
These plugins are not input plugins, they are decoder plugins. No CamelCase in the directory name.