diff -Nru mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/NEWS mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/NEWS --- mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/NEWS 2013-12-23 17:08:50.000000000 +0000 +++ mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/NEWS 2013-12-24 17:03:03.000000000 +0000 @@ -5,14 +5,19 @@ - alsa: new input plugin * new resampler option using libsoxr -ver 0.18.6 (not yet released) +ver 0.18.6 (2013/12/24) * input - cdio_paranoia: support libcdio-paranoia 0.90 +* tags + - riff: recognize upper-case "ID3" chunk name +* decoder + - ffmpeg: use relative timestamps * output - openal: fix build failure on Mac OS X - osx: fix build failure * mixer - alsa: fix build failure with uClibc +* fix replay gain during cross-fade * accept files without metadata ver 0.18.5 (2013/11/23) diff -Nru mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/debian/bzr-builder.manifest mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/debian/bzr-builder.manifest --- mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/debian/bzr-builder.manifest 2013-12-23 17:08:52.000000000 +0000 +++ mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/debian/bzr-builder.manifest 2013-12-24 17:03:04.000000000 +0000 @@ -1,3 +1,3 @@ -# bzr-builder format 0.3 deb-version 0.17.95+bzr7279~3 -lp:~gmpc-trunk/mpd/mpd.git revid:git-v1:8edde7a4b3d652d0ac6ac3770369ddababe310a3 +# bzr-builder format 0.3 deb-version 0.17.95+bzr7281~3 +lp:~gmpc-trunk/mpd/mpd.git revid:git-v1:64e898f6dbcfe5e584cb308dd3eca411bfd7667d nest debian lp:~gmpc-trunk/+junk/mpd-userspace-daily debian revid:ripps818@gmail.com-20110914052327-zlvx04g8jo1z3k4k diff -Nru mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/debian/changelog mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/debian/changelog --- mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/debian/changelog 2013-12-23 17:08:52.000000000 +0000 +++ mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/debian/changelog 2013-12-24 17:03:04.000000000 +0000 @@ -1,8 +1,8 @@ -mpd-userspace (0.17.95+bzr7279~3~ubuntu12.04.1) precise; urgency=low +mpd-userspace (0.17.95+bzr7281~3~ubuntu12.04.1) precise; urgency=low * Auto build. - -- Launchpad Package Builder Mon, 23 Dec 2013 17:08:52 +0000 + -- Launchpad Package Builder Tue, 24 Dec 2013 17:03:04 +0000 mpd-userspace (0.15-1~beta1) UNRELEASED; urgency=low diff -Nru mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/OutputControl.cxx mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/OutputControl.cxx --- mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/OutputControl.cxx 2013-12-23 17:08:50.000000000 +0000 +++ mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/OutputControl.cxx 2013-12-24 17:03:03.000000000 +0000 @@ -96,6 +96,8 @@ { if (ao->replay_gain_filter != nullptr) replay_gain_filter_set_mode(ao->replay_gain_filter, mode); + if (ao->other_replay_gain_filter != nullptr) + replay_gain_filter_set_mode(ao->other_replay_gain_filter, mode); } void diff -Nru mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/OutputThread.cxx mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/OutputThread.cxx --- mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/OutputThread.cxx 2013-12-23 17:08:50.000000000 +0000 +++ mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/OutputThread.cxx 2013-12-24 17:03:03.000000000 +0000 @@ -96,10 +96,16 @@ assert(format.IsValid()); /* the replay_gain filter cannot fail here */ - if (ao->replay_gain_filter != nullptr) - ao->replay_gain_filter->Open(format, error_r); - if (ao->other_replay_gain_filter != nullptr) - ao->other_replay_gain_filter->Open(format, error_r); + if (ao->replay_gain_filter != nullptr && + !ao->replay_gain_filter->Open(format, error_r).IsDefined()) + return AudioFormat::Undefined(); + + if (ao->other_replay_gain_filter != nullptr && + !ao->other_replay_gain_filter->Open(format, error_r).IsDefined()) { + if (ao->replay_gain_filter != nullptr) + ao->replay_gain_filter->Close(); + return AudioFormat::Undefined(); + } const AudioFormat af = ao->filter->Open(format, error_r); if (!af.IsDefined()) { diff -Nru mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/PlayerThread.cxx mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/PlayerThread.cxx --- mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/PlayerThread.cxx 2013-12-23 17:08:50.000000000 +0000 +++ mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/PlayerThread.cxx 2013-12-24 17:03:03.000000000 +0000 @@ -1080,8 +1080,11 @@ delete cross_fade_tag; - if (song != nullptr) + if (song != nullptr) { + const auto uri = song->GetURI(); + FormatDefault(player_domain, "played \"%s\"", uri.c_str()); song->Free(); + } pc.Lock(); diff -Nru mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/decoder/FfmpegDecoderPlugin.cxx mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/decoder/FfmpegDecoderPlugin.cxx --- mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/decoder/FfmpegDecoderPlugin.cxx 2013-12-23 17:08:50.000000000 +0000 +++ mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/decoder/FfmpegDecoderPlugin.cxx 2013-12-24 17:03:03.000000000 +0000 @@ -250,13 +250,14 @@ ffmpeg_send_packet(Decoder &decoder, InputStream &is, const AVPacket *packet, AVCodecContext *codec_context, - const AVRational *time_base, + const AVStream *stream, AVFrame *frame, uint8_t **buffer, int *buffer_size) { if (packet->pts >= 0 && packet->pts != (int64_t)AV_NOPTS_VALUE) decoder_timestamp(decoder, - time_from_ffmpeg(packet->pts, *time_base)); + time_from_ffmpeg(packet->pts - stream->start_time, + stream->time_base)); AVPacket packet2 = *packet; @@ -469,7 +470,7 @@ if (packet.stream_index == audio_stream) cmd = ffmpeg_send_packet(decoder, input, &packet, codec_context, - &av_stream->time_base, + av_stream, frame, &interleaved_buffer, &interleaved_buffer_size); else @@ -480,7 +481,8 @@ if (cmd == DecoderCommand::SEEK) { int64_t where = time_to_ffmpeg(decoder_seek_where(decoder), - av_stream->time_base); + av_stream->time_base) + + av_stream->start_time; if (av_seek_frame(format_context, audio_stream, where, AV_TIME_BASE) < 0) diff -Nru mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/input/CdioParanoiaInputPlugin.cxx mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/input/CdioParanoiaInputPlugin.cxx --- mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/input/CdioParanoiaInputPlugin.cxx 2013-12-23 17:08:50.000000000 +0000 +++ mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/input/CdioParanoiaInputPlugin.cxx 2013-12-24 17:03:03.000000000 +0000 @@ -43,7 +43,7 @@ #include #ifdef HAVE_CDIO_PARANOIA_PARANOIA_H -#include +#include #else #include #endif diff -Nru mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/tag/Riff.cxx mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/tag/Riff.cxx --- mpd-userspace-0.17.95+bzr7279~3~ubuntu12.04.1/src/tag/Riff.cxx 2013-12-23 17:08:50.000000000 +0000 +++ mpd-userspace-0.17.95+bzr7281~3~ubuntu12.04.1/src/tag/Riff.cxx 2013-12-24 17:03:03.000000000 +0000 @@ -86,7 +86,8 @@ /* pad byte */ ++size; - if (memcmp(chunk.id, "id3 ", 4) == 0) + if (memcmp(chunk.id, "id3 ", 4) == 0 || + memcmp(chunk.id, "ID3 ", 4) == 0) /* found it! */ return size;