diff options
-rw-r--r-- | NEWS | 8 | ||||
-rw-r--r-- | doc/protocol.xml | 18 | ||||
-rwxr-xr-x | src/decoder/vorbis_plugin.c | 2 | ||||
-rw-r--r-- | src/output_init.c | 1 | ||||
-rw-r--r-- | src/update.c | 3 |
5 files changed, 30 insertions, 2 deletions
@@ -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)) { |