aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder/aac_plugin.c (follow)
Commit message (Collapse)AuthorAgeFilesLines
* aac: shift the input buffer before the full checkMax Kellermann2008-11-121-4/+5
| | | | | When the buffer was full, but everything was already consumed, fillAacBuffer() would not attempt to flush and refill it.
* aac: make the input buffer staticMax Kellermann2008-11-121-9/+4
| | | | Allocate the input buffer within the AacBuffer struct.
* aac: reject SEEK commandsMax Kellermann2008-11-121-1/+3
| | | | | | The aac plugin does not support seeking. Reject SEEK requests by calling decoder_seek_error(). Quit the plugin's main loop only when STOP is received.
* aac: get decoder command from decoder_data()Max Kellermann2008-11-121-4/+5
| | | | Removed a superfluous decoder_get_command() call.
* aac: convert audio_format to temporary variableMax Kellermann2008-11-121-5/+6
| | | | | | The audio_format variable is only used and initialized for decoder_initialized(). Move it into that block to save some bytes on the stack.
* aac: removed method file_decode()Max Kellermann2008-11-121-124/+1
| | | | | aac_stream_decode() was basically copy+pasted from aac_decode(). Since stream_decode() can also decode files, eliminate aac_decode().
* aac: check the buffer length in the ADIF parserMax Kellermann2008-11-121-0/+6
| | | | Check whether enough data has been read yet.
* aac: use unsigned integers and size_t where appropriateMax Kellermann2008-11-121-5/+6
|
* aac: check if the stream is seekable before length checkMax Kellermann2008-11-121-1/+2
| | | | | If the stream is not seekable, don't try to decode all frames to find out the total song time.
* aac: removed attribute "atEof"Max Kellermann2008-11-121-14/+7
| | | | Use input_stream_eof() instead.
* decoder: return void from decode() methodsMax Kellermann2008-11-111-16/+6
| | | | | | | | 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.
* aac, mod: moved decoder command check into loop conditionMax Kellermann2008-11-021-8/+4
| | | | | 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-14/+2
| | | | | | 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-4/+5
| | | | | | 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-2/+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-4/+4
|
* decoder: use bool for return values and flagsMax Kellermann2008-10-301-19/+20
| | | | | 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-4/+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().
* input_stream: use "bool" instead of "int"Max Kellermann2008-10-261-2/+2
| | | | | 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-5/+5
| | | | Renamed all functions and variables.
* input_stream: removed the InputStream typedefMax Kellermann2008-10-261-6/+7
| | | | Everybody should use struct input_stream.
* renamed src/inputPlugins/ to src/decoder/Max Kellermann2008-10-261-0/+602
These plugins are not input plugins, they are decoder plugins. No CamelCase in the directory name.