- 17 Jan, 2009 2 commits
-
-
Max Kellermann authored
-
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().
-
- 08 Jan, 2009 1 commit
-
-
Max Kellermann authored
-
- 28 Dec, 2008 1 commit
-
-
Pauli Virtanen authored
This patch adds RVA2 (relative volume adjustment) tag support to mpd, as a fallback if no replaygain tags are found. The code is almost directly from madplay (GPL). RVA2 tags are generated for example by the "normalize" utility. Updated by: Avuton Olrich <avuton@gmail.com>
-
- 24 Dec, 2008 1 commit
-
-
Max Kellermann authored
Add G_GNUC_UNUSED attributes.
-
- 08 Dec, 2008 1 commit
-
-
Max Kellermann authored
Variables which hold one of the DECODE_* values should be declared as "enum mp3_action" instead of "int".
-
- 27 Nov, 2008 1 commit
-
-
Max Kellermann authored
Use GLib's g_warning(), ... instead of MPD's deprecated log.h.
-
- 13 Nov, 2008 1 commit
-
-
Max Kellermann authored
mp3 seeking was broken, because the command==SEEK check was never reached. Swap the command check order (==SEEK before !=NONE) to fix that.
-
- 11 Nov, 2008 5 commits
-
-
Max Kellermann authored
Parse ID3 tags, even when they are in the middle of the stream. Very few streams provide embedded ID3 tags. Most of them send only Shoutcast "icy" tags, which limits the practical usefulness of this patch.
-
Max Kellermann authored
When a command is received, decode_next_frame_header() and decodeNextFrame() return DECODE_BREAK. This is already checked by both callers, which means that we can eliminate lots of decoder_get_command() checks.
-
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
Having an array instead of individual variables allows the use of the replay_gain_mode enum as an array index.
-
Max Kellermann authored
Renamed functions and variables.
-
- 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.
-
- 03 Nov, 2008 1 commit
-
-
Max Kellermann authored
If an input stream provides tags (e.g. from an icecast server), send them in the decoder_data() and decoder_tag() methods. Removed the according code from the mp3 and oggvorbis plugins - decoders shouldn't have to care about stream tags. This patch also adds the missing decoder_tag() invocation to the mp3 plugin.
-
- 02 Nov, 2008 1 commit
-
-
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 2 commits
-
-
Max Kellermann authored
The strings were constant, but the pointers weren't. C syntax is somewhat tricky..
-
Max Kellermann authored
All decoder_plugin structs are initialized at compile time, and must never change.
-
- 31 Oct, 2008 1 commit
-
-
Max Kellermann authored
-
- 30 Oct, 2008 2 commits
-
-
Max Kellermann authored
Don't return 0/-1 on success/error, but true/false. Instead of int, use bool for storing flags.
-
Max Kellermann authored
Its only caller in mp3_decode() just compared its value with DECODE_BREAK. Convert that to bool, and return false if the loop should be ended. Also eliminate some superfluous command checking code, which was already done in the preceding while loop.
-
- 29 Oct, 2008 10 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.
-
Max Kellermann authored
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.
-
Max Kellermann authored
Previously, the function would only return when a STOP was issued. It makes more sense to consider all possible commands.
-
Max Kellermann authored
Break the large function mp3_read() into smaller pieces.
-
Max Kellermann authored
Break the large function mp3_read() into smaller pieces.
-
Max Kellermann authored
Break the large function mp3_read() into smaller pieces.
-
Max Kellermann authored
Break the large function mp3_read() into smaller pieces.
-
Max Kellermann authored
Break the large function mp3_read() into smaller pieces.
-
Max Kellermann authored
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.
-
- 28 Oct, 2008 8 commits
-
-
Max Kellermann authored
The function mp3_decode_first_frame() is too large. Move some code to separate smaller functions.
-
Max Kellermann authored
http://xkcd.com/292/
-
Max Kellermann authored
This removes the need for util.h.
-
Max Kellermann authored
Use the C99 bool data type for boolean values.
-
Max Kellermann authored
Renamed all functions and variables. Also removed the mp3DecodeData typedef.
-
Max Kellermann authored
-
Max Kellermann authored
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.
-
Max Kellermann authored
Remove duplicated code from MPD.
-
- 26 Oct, 2008 1 commit
-
-
Max Kellermann authored
For boolean values and success flags, use bool instead of integer (1/0 for true/false, 0/-1 for success/failure).
-