aboutsummaryrefslogtreecommitdiffstats
path: root/src/decoder (unfollow)
Commit message (Collapse)AuthorFilesLines
2008-10-29decoder: automatically flush the output buffer after decoder exitsMax Kellermann9-23/+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().
2008-10-29decoder_api: removed decoder_clear()Max Kellermann8-16/+3
Call ob_clear() in decoder_command_finished() instead of implementing that call in every decoder plugin.
2008-10-29mp3: seek in backgroundMax Kellermann1-5/+7
Remember the seek_where argument and call decoder_command_finished() immediately. This way, the player thread can continue working, and we can receive more commands. This also fixes several issues which resulted in broken frames, leading to erroneos "elapsed" values: frames weren't parsed properly, since the code was checking for command!=NONE.
2008-10-29mp3: return from mp3_synth_and_send() on any commandMax Kellermann1-2/+2
Previously, the function would only return when a STOP was issued. It makes more sense to consider all possible commands.
2008-10-29mp3: moved code to mp3_synth_and_send()Max Kellermann1-60/+74
Break the large function mp3_read() into smaller pieces.
2008-10-29mp3: moved code to mp3_send_pcm()Max Kellermann1-29/+48
Break the large function mp3_read() into smaller pieces.
2008-10-29mp3: moved code to mp3_update_timer_next_frame()Max Kellermann1-16/+28
Break the large function mp3_read() into smaller pieces.
2008-10-29mp3: moved code to mp3_this_frame_offset()Max Kellermann1-10/+10
Break the large function mp3_read() into smaller pieces.
2008-10-29mp3: moved code to mp3_time_to_frame()Max Kellermann1-11/+21
Break the large function mp3_read() into smaller pieces.
2008-10-29mp3: assert that the stream is seekableMax Kellermann1-5/+5
dc_seek() won't send a SEEK command to the decoder thread unless the stream is seekable. No need to do another check; convert that to an assertion.
2008-10-28mp3: moved code to mp3_filesize_to_song_length()Max Kellermann1-23/+42
The function mp3_decode_first_frame() is too large. Move some code to separate smaller functions.
2008-10-28mp3: no "goto"Max Kellermann1-19/+36
http://xkcd.com/292/
2008-10-28mp3: use GLib allocation functionsMax Kellermann1-11/+9
This removes the need for util.h.
2008-10-28mp3: use boolMax Kellermann1-50/+51
Use the C99 bool data type for boolean values.
2008-10-28mp3: no CamelCaseMax Kellermann1-255/+254
Renamed all functions and variables. Also removed the mp3DecodeData typedef.
2008-10-28mp3: remove obsolete commentsMax Kellermann1-4/+0
2008-10-28input_stream: convert offset and size to the off_t data typeMax Kellermann1-1/+1
size_t and long aren't 64 bit safe (i.e. files larger than 2 GB on a 32 bit OS). Use off_t instead, which is a 64 bit integer if compiled with large file support.
2008-10-28utils: use g_str_has_prefix() instead of prefixcmp()Max Kellermann1-1/+2
Remove duplicated code from MPD.
2008-10-26input_stream: use "bool" instead of "int"Max Kellermann9-20/+20
For boolean values and success flags, use bool instead of integer (1/0 for true/false, 0/-1 for success/failure).
2008-10-26input_stream: no CamelCaseMax Kellermann10-65/+65
Renamed all functions and variables.
2008-10-26input_stream: removed the InputStream typedefMax Kellermann12-48/+65
Everybody should use struct input_stream.
2008-10-26renamed src/inputPlugins/ to src/decoder/Max Kellermann15-0/+5609
These plugins are not input plugins, they are decoder plugins. No CamelCase in the directory name.