aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-08-30 09:42:12 +0200
committerMax Kellermann <max@duempel.org>2009-08-30 09:42:12 +0200
commitf2ff2409adbd18758edfffd6f6021b521eb66c7d (patch)
treea1e6c30ece0d7259861b808fe954c77448afc47c
parentbff4c54ece5d6ebf84c1a19a05afbeba57bf65ae (diff)
parent7a690c6b7042315d0756d0a4a45046fc21a1cad8 (diff)
downloadmpd-f2ff2409adbd18758edfffd6f6021b521eb66c7d.tar.gz
mpd-f2ff2409adbd18758edfffd6f6021b521eb66c7d.tar.xz
mpd-f2ff2409adbd18758edfffd6f6021b521eb66c7d.zip
Merged release 0.15.3 from branch 'v0.15.x'
Conflicts: NEWS configure.ac
Diffstat (limited to '')
-rw-r--r--NEWS8
-rw-r--r--doc/protocol.xml18
-rwxr-xr-xsrc/decoder/vorbis_plugin.c2
-rw-r--r--src/output_init.c1
-rw-r--r--src/update.c3
5 files changed, 30 insertions, 2 deletions
diff --git a/NEWS b/NEWS
index ae53f52c5..2defb5962 100644
--- a/NEWS
+++ b/NEWS
@@ -32,6 +32,14 @@ ver 0.16 (20??/??/??)
* obey $(sysconfdir) for default mpd.conf location
+ver 0.15.3 (2009/08/29)
+* decoders:
+ - vorbis: faster tag scanning with ov_test_callback()
+* output:
+ - fix stuttering due to uninitialized variable
+* update: don't re-read unchanged container files
+
+
ver 0.15.2 (2009/08/15)
* tags:
- ape: check the tag size (fixes integer underflow)
diff --git a/doc/protocol.xml b/doc/protocol.xml
index a08f95f1a..05a65de23 100644
--- a/doc/protocol.xml
+++ b/doc/protocol.xml
@@ -281,6 +281,24 @@
</listitem>
<listitem>
<para>
+ <varname>nextsong</varname>:
+ <footnoteref linkend="since_0_15"/>
+ <returnvalue> playlist song number of the next
+ song to be played
+ </returnvalue>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ <varname>nextsongid</varname>:
+ <footnoteref linkend="since_0_15"/>
+ <returnvalue>playlist songid of the next song
+ to be played
+ </returnvalue>
+ </para>
+ </listitem>
+ <listitem>
+ <para>
<varname>time</varname>:
<returnvalue>total time elapsed (of current
playing/paused song)</returnvalue>
diff --git a/src/decoder/vorbis_plugin.c b/src/decoder/vorbis_plugin.c
index 39a075176..4548d1b57 100755
--- a/src/decoder/vorbis_plugin.c
+++ b/src/decoder/vorbis_plugin.c
@@ -382,7 +382,7 @@ vorbis_tag_dup(const char *file)
return NULL;
}
- if (ov_open(fp, &vf, NULL, 0) < 0) {
+ if (ov_test_callbacks(fp, &vf, NULL, 0, OV_CALLBACKS_STREAMONLY) < 0) {
fclose(fp);
return NULL;
}
diff --git a/src/output_init.c b/src/output_init.c
index 08873ac20..66444e9a5 100644
--- a/src/output_init.c
+++ b/src/output_init.c
@@ -178,6 +178,7 @@ audio_output_init(struct audio_output *ao, const struct config_param *param,
ao->plugin = plugin;
ao->enabled = config_get_block_bool(param, "enabled", true);
ao->open = false;
+ ao->pause = false;
ao->fail_timer = NULL;
/* set up the filter chain */
diff --git a/src/update.c b/src/update.c
index 6778a5989..cfe574e17 100644
--- a/src/update.c
+++ b/src/update.c
@@ -502,7 +502,8 @@ update_regular_file(struct directory *directory,
{
struct song* song = songvec_find(&directory->songs, name);
- if (plugin->container_scan != NULL)
+ if (!(song != NULL && st->st_mtime == song->mtime) &&
+ plugin->container_scan != NULL)
{
if (update_container_file(directory, name, st, plugin))
{