aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2009-10-31 18:23:56 +0100
committerMax Kellermann <max@duempel.org>2009-10-31 18:23:56 +0100
commit806496dfc937d9b55e00672d42928a25cfa67c90 (patch)
tree1a340ce9afe9fa763c83943e7f68cc5b8f3ec750 /src
parent9eadb517da965b01929bdb7ce5c8f2911a9363db (diff)
parent3de912e2b956821782bd77acc6e12f66086c1926 (diff)
downloadmpd-806496dfc937d9b55e00672d42928a25cfa67c90.tar.gz
mpd-806496dfc937d9b55e00672d42928a25cfa67c90.tar.xz
mpd-806496dfc937d9b55e00672d42928a25cfa67c90.zip
Merge branch 'v0.15.x'
Conflicts: NEWS configure.ac src/decoder/ffmpeg_plugin.c src/update.c
Diffstat (limited to '')
-rw-r--r--src/decoder_control.h3
-rw-r--r--src/output_thread.c9
-rw-r--r--src/update_walk.c6
3 files changed, 14 insertions, 4 deletions
diff --git a/src/decoder_control.h b/src/decoder_control.h
index 6b65da2f2..cab6c69c7 100644
--- a/src/decoder_control.h
+++ b/src/decoder_control.h
@@ -27,9 +27,6 @@
#include <assert.h>
-#define DECODE_TYPE_FILE 0
-#define DECODE_TYPE_URL 1
-
enum decoder_state {
DECODE_STATE_STOP = 0,
DECODE_STATE_START,
diff --git a/src/output_thread.c b/src/output_thread.c
index ef8fe7418..da1caef3f 100644
--- a/src/output_thread.c
+++ b/src/output_thread.c
@@ -430,6 +430,15 @@ static gpointer audio_output_task(gpointer arg)
break;
case AO_COMMAND_PAUSE:
+ if (!ao->open) {
+ /* the output has failed after
+ audio_output_all_pause() has
+ submitted the PAUSE command; bail
+ out */
+ ao_command_finished(ao);
+ break;
+ }
+
ao_pause(ao);
/* don't "break" here: this might cause
ao_play() to be called when command==CLOSE
diff --git a/src/update_walk.c b/src/update_walk.c
index fe99ea32a..68ebbedeb 100644
--- a/src/update_walk.c
+++ b/src/update_walk.c
@@ -695,7 +695,11 @@ updateDirectory(struct directory *directory, const struct stat *st)
continue;
utf8 = fs_charset_to_utf8(ent->d_name);
- if (utf8 == NULL || skip_symlink(directory, utf8)) {
+ if (utf8 == NULL)
+ continue;
+
+ if (skip_symlink(directory, utf8)) {
+ delete_name_in(directory, utf8);
g_free(utf8);
continue;
}