diff options
-rw-r--r-- | NEWS | 7 | ||||
-rw-r--r-- | src/decoder_control.h | 3 | ||||
-rw-r--r-- | src/output_thread.c | 9 | ||||
-rw-r--r-- | src/update_walk.c | 6 |
4 files changed, 21 insertions, 4 deletions
@@ -58,6 +58,13 @@ ver 0.16 (20??/??/??) * require GLib 2.16 +ver 0.15.6 (2009/??/??) +* decoders: + - ffmpeg: convert metadata +* output_thread: check again if output is open on PAUSE +* update: delete ignored symlinks from database + + ver 0.15.5 (2009/10/18) * input: - curl: don't abort if a packet has only metadata 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; } |