summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-08-04 14:36:22 +0200
committerMax Kellermann <max@duempel.org>2013-08-04 14:36:22 +0200
commit9326ce53ecd225269147109d87af763fc3846ddf (patch)
tree510b468db4f9007502516c1bf7dc8db65c655da6
parentfcb7233b25f21c15e132a9c0e0de5ab5b4f492c7 (diff)
parentd8217c364a182a12fb8abd19732341af1515ffb0 (diff)
Merge tag 'release-0.17.5'
-rw-r--r--NEWS12
-rw-r--r--configure.ac5
-rw-r--r--doc/mpd.conf.530
-rw-r--r--src/PlaylistCommands.cxx2
-rw-r--r--src/PlaylistEdit.cxx7
-rw-r--r--src/SongUpdate.cxx2
-rw-r--r--src/decoder/FfmpegDecoderPlugin.cxx1
-rw-r--r--src/decoder/MikmodDecoderPlugin.cxx4
8 files changed, 44 insertions, 19 deletions
diff --git a/NEWS b/NEWS
index 5dee60534..46ee9dbb1 100644
--- a/NEWS
+++ b/NEWS
@@ -20,7 +20,17 @@ ver 0.18 (2012/??/??)
* improved decoder/output error reporting
* eliminate timer wakeup on idle MPD
-ver 0.17.4 (2013/??/??)
+ver 0.17.5 (2013/08/04)
+* protocol:
+ - fix "playlistadd" with URI
+ - fix "move" relative to current when there is no current song
+* decoder:
+ - ffmpeg: support "application/flv"
+ - mikmod: adapt to libmikmod 3.2
+* configure.ac:
+ - detect system "ar"
+
+ver 0.17.4 (2013/04/08)
* protocol:
- allow to omit END in ranges (START:END)
- don't emit IDLE_PLAYER before audio format is known
diff --git a/configure.ac b/configure.ac
index f6b6868ac..2816a2b48 100644
--- a/configure.ac
+++ b/configure.ac
@@ -23,6 +23,11 @@ AC_PROG_CC_C99
AC_PROG_CXX
AC_PROG_RANLIB
+AN_MAKEVAR([AR], [AC_PROG_AR])
+AN_PROGRAM([ar], [AC_PROG_AR])
+AC_DEFUN([AC_PROG_AR], [AC_CHECK_TOOL(AR, ar, :)])
+AC_PROG_AR
+
AC_PROG_INSTALL
AC_PROG_MAKE_SET
PKG_PROG_PKG_CONFIG
diff --git a/doc/mpd.conf.5 b/doc/mpd.conf.5
index 59d5e623a..62f5565e1 100644
--- a/doc/mpd.conf.5
+++ b/doc/mpd.conf.5
@@ -29,29 +29,18 @@ See \fBdocs/mpdconf.example\fP in the source tarball for an example
configuration file.
.SH REQUIRED PARAMETERS
.TP
-.B follow_outside_symlinks <yes or no>
-Control if MPD will follow symbolic links pointing outside the music dir.
-You must recreate the database after changing this option.
-The default is "yes".
-.TP
-.B follow_inside_symlinks <yes or no>
-Control if MPD will follow symbolic links pointing inside the music dir,
-potentially adding duplicates to the database.
-You must recreate the database after changing this option.
-The default is "yes".
-.TP
.B db_file <file>
This specifies where the db file will be stored.
.TP
-.B sticker_file <file>
-The location of the sticker database. This is a database which
-manages dynamic information attached to songs.
-.TP
.B log_file <file>
This specifies where the log file should be located.
The special value "syslog" makes MPD use the local syslog daemon.
.SH OPTIONAL PARAMETERS
.TP
+.B sticker_file <file>
+The location of the sticker database. This is a database which
+manages dynamic information attached to songs.
+.TP
.B pid_file <file>
This specifies the file to save mpd's process ID in.
.TP
@@ -99,6 +88,17 @@ reports from what address a connection is opened, and when it is closed, and
"verbose" records excessive amounts of information for debugging purposes. The
default is "default".
.TP
+.B follow_outside_symlinks <yes or no>
+Control if MPD will follow symbolic links pointing outside the music dir.
+You must recreate the database after changing this option.
+The default is "yes".
+.TP
+.B follow_inside_symlinks <yes or no>
+Control if MPD will follow symbolic links pointing inside the music dir,
+potentially adding duplicates to the database.
+You must recreate the database after changing this option.
+The default is "yes".
+.TP
.B zeroconf_enabled <yes or no>
If yes, and MPD has been compiled with support for Avahi or Bonjour, service
information will be published with Zeroconf. The default is yes.
diff --git a/src/PlaylistCommands.cxx b/src/PlaylistCommands.cxx
index e3b5ad5f8..d68a30ba7 100644
--- a/src/PlaylistCommands.cxx
+++ b/src/PlaylistCommands.cxx
@@ -193,7 +193,7 @@ handle_playlistadd(Client *client, G_GNUC_UNUSED int argc, char *argv[])
return COMMAND_RETURN_ERROR;
}
- success = spl_append_uri(argv[1], playlist, &error);
+ success = spl_append_uri(uri, playlist, &error);
} else
success = search_add_to_playlist(uri, playlist, nullptr,
&error);
diff --git a/src/PlaylistEdit.cxx b/src/PlaylistEdit.cxx
index e3d3eac25..0d46f66aa 100644
--- a/src/PlaylistEdit.cxx
+++ b/src/PlaylistEdit.cxx
@@ -342,7 +342,12 @@ playlist::MoveRange(player_control &pc, unsigned start, unsigned end, int to)
* (-playlist.length == to) => move to position BEFORE current song
*/
const int currentSong = GetCurrentPosition();
- if (to < 0 && currentSong >= 0) {
+ if (to < 0) {
+ if (currentSong < 0)
+ /* can't move relative to current song,
+ because there is no current song */
+ return PLAYLIST_RESULT_BAD_RANGE;
+
if (start <= (unsigned)currentSong && (unsigned)currentSong < end)
/* no-op, can't be moved to offset of itself */
return PLAYLIST_RESULT_SUCCESS;
diff --git a/src/SongUpdate.cxx b/src/SongUpdate.cxx
index 9c4d44227..f08e0c20a 100644
--- a/src/SongUpdate.cxx
+++ b/src/SongUpdate.cxx
@@ -173,7 +173,7 @@ Song::UpdateFileInArchive()
if (suffix == NULL)
return false;
- plugin = decoder_plugin_from_suffix(suffix, nullptr);
+ plugin = decoder_plugin_from_suffix(suffix, NULL);
if (plugin == NULL)
return false;
diff --git a/src/decoder/FfmpegDecoderPlugin.cxx b/src/decoder/FfmpegDecoderPlugin.cxx
index f42fc36a3..89e57c874 100644
--- a/src/decoder/FfmpegDecoderPlugin.cxx
+++ b/src/decoder/FfmpegDecoderPlugin.cxx
@@ -586,6 +586,7 @@ static const char *const ffmpeg_suffixes[] = {
};
static const char *const ffmpeg_mime_types[] = {
+ "application/flv",
"application/m4a",
"application/mp4",
"application/octet-stream",
diff --git a/src/decoder/MikmodDecoderPlugin.cxx b/src/decoder/MikmodDecoderPlugin.cxx
index b7d113265..f9896ef98 100644
--- a/src/decoder/MikmodDecoderPlugin.cxx
+++ b/src/decoder/MikmodDecoderPlugin.cxx
@@ -199,7 +199,11 @@ mikmod_decoder_scan_file(const char *path_fs,
if (title != nullptr) {
tag_handler_invoke_tag(handler, handler_ctx,
TAG_TITLE, title);
+#if (LIBMIKMOD_VERSION >= 0x030200)
+ MikMod_free(title);
+#else
free(title);
+#endif
}
return true;