Hi, just for the sake of completeness, important changes in alpha2 since alpha1:
- wavpack 24 bit support, seeking fixess and some more patches from Laszlo Ashin - a bunch of flac/oggflac build and runtime fixes - fall back to next decoder plugin - 24 bit replay gain support (let's see if we find more dark corners of MPD where 24 bit support has to be added...) - lots of decoder optimizations (ogg, mpc, mp3, wavpack, aac, ...) - several bug fixes regarding partial frames in the music pipe - these bugs have always been there, they emerge now since MPD supports more audio formats now alpha2 is the first release issued by Avuton, our new release manager. This is a great relief for me, and allows me to put more time into bug fixing. Thanks, Avuton! Max Avuton Olrich (1): MPD version 0.14~alpha2 Daniel Schömer (1): log: properly check log_threshold Laszlo Ashin (9): wavpack: enable seeking wavpack: close wvc stream on error wavpack: check wvc seekability wavpack: unified code style wavpack: added prefix to local function names wavpack: put braces around one line code blocks wavpack: wrapper for converting void* to struct wavpack_input* wavpack: check last_byte in push_back_byte() method wavpack: make 24-bit samples available for mpd Max Kellermann (73): input_curl: enable FAILONERROR input_curl: return 0 on error from read() input_curl: retrieve error message from ERRORBUFFER configure.ac: added AC_CONFIG_SRCDIR configure.ac: enable _ogg_common.c when flac is enabled decoder: removed "plugin" from the decoder struct decoder: converted dc.error to a dc.state value flac: make the init() method check for oggflac support wavpack: removed try_decode() method decoder: updated API documentation flac: enable oggflac with libflac flac: enable the oggflac plugin with older libflac versions flac: call flac_process_metadata() for ogg files decoder: added more assertions decoder: wrapper functions for methods stream_decode() and file_decode() decoder: fall back to next plugin decoder: removed plugin method try_decode() decoder: fixed assertion failure for decoder==NULL in decoder_read() replay_gain: renamed sources to replay_gain.c, replay_gain.h replay_gain: no CamelCase replay_gain: removed superfluous author name comment replay_gain: converted replay_gain_mode to an enum ogg: ogg_getReplayGainInfo() returns replay_gain_info pointer wavpack: make the "key" argument to wavpack_tag() const wavpack: added wavpack_tag_float() replay_gain: converted struct replay_gain_info elements to an array pcm_utils: added inline function pcm_float_to_volume() pcm_volume: added constant PCM_VOLUME_1 pcm_utils: allow volume levels greater than 100% in pcm_volume() replay_gain: use pcm_volume() to apply replay gain replay_gain: use GLib instead of utils.h/log.h replay_gain: don't include os_compat.h decoder: return void from decode() methods oggflac: removed the obsolete try_decode() method playlist: track song metadata changes player: fix race condition during tag update mp3: eliminated duplicate command check mp3: support stream tags ogg: flush buffer after every ov_read() call ogg: get decoder command from decoder_data() decoder: fixed typo in assertion ogg: use GLib instead of utils.h/log.h ogg: use ogg_fopen() instead of ogg_open() ogg: removed stray "}" mpc: eliminated the local variable "eof" mpc: declare buffer as int32_t[] mpc: use GLib instead of utils.h/log.h mpc: make the buffer large enough for one mpc frame mpc: moved code to mpc_to_mpd_buffer() mpc: get decoder command from decoder_data() mpc: don't assume the stream is stereo mpc: assume the result fo of mpc_decoder_decode() is unsigned aac: removed attribute "atEof" aac: check if the stream is seekable before length check aac: use unsigned integers and size_t where appropriate aac: check the buffer length in the ADIF parser aac: removed method file_decode() aac: convert audio_format to temporary variable aac: get decoder command from decoder_data() aac: reject SEEK commands aac: make the input buffer static aac: shift the input buffer before the full check ogg: revert "use ogg_fopen() instead of ogg_open()" wavpack: calculate outsamplesize with audio_format_frame_size() wavpack: remove commented debug messages playlist: call clearPlayerQueue() only if song is queued II player: assert that there was no previous "next song chunk" music_pipe: check for partial frames in appended chunk decoder: ignore SEEK commands during initialization music_pipe: continuously check the sample format of all chunks player: chop the tail of the music pipe after CANCEL decoder: check dc.command at the beginning of decoder_data() decoder: wait for the player only if the music pipe is full Tom Servo (1): listen: fix namespace collision on OpenSolaris configure.ac | 10 +- src/Makefile.am | 4 +- src/decoder/_flac_common.c | 14 +- src/decoder/_flac_common.h | 2 +- src/decoder/aac_plugin.c | 216 ++++----------------- src/decoder/audiofile_plugin.c | 9 +- src/decoder/ffmpeg_plugin.c | 11 +- src/decoder/flac_plugin.c | 64 ++++--- src/decoder/mod_plugin.c | 6 +- src/decoder/mp3_plugin.c | 101 ++++++----- src/decoder/mp4_plugin.c | 20 +-- src/decoder/mpc_plugin.c | 123 +++++-------- src/decoder/oggflac_plugin.c | 17 +-- src/decoder/oggvorbis_plugin.c | 110 +++++------ src/decoder/wavpack_plugin.c | 351 +++++++++++++++++------------------ src/decoder_api.c | 35 +++- src/decoder_api.h | 22 +-- src/decoder_control.c | 8 +- src/decoder_control.h | 42 +++-- src/decoder_internal.h | 2 - src/decoder_list.c | 2 +- src/decoder_thread.c | 105 +++++++---- src/input_curl.c | 11 +- src/listen.c | 12 +- src/log.c | 2 +- src/main.c | 4 +- src/pcm_utils.c | 23 ++- src/pcm_utils.h | 15 ++ src/pipe.c | 32 ++++ src/pipe.h | 11 + src/player_control.c | 9 +- src/player_thread.c | 18 ++- src/playlist.c | 45 ++--- src/playlist.h | 5 + src/replayGain.c | 167 ----------------- src/replay_gain.c | 131 +++++++++++++ src/{replayGain.h => replay_gain.h} | 38 +++-- src/volume.c | 7 +- 38 files changed, 859 insertions(+), 945 deletions(-) delete mode 100644 src/replayGain.c create mode 100644 src/replay_gain.c rename src/{replayGain.h => replay_gain.h} (65%) ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ Musicpd-dev-team mailing list Musicpd-dev-team@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/musicpd-dev-team