aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--src/output_thread.c9
2 files changed, 10 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 4478bec59..12574dd23 100644
--- a/NEWS
+++ b/NEWS
@@ -1,4 +1,5 @@
ver 0.15.6 (2009/??/??)
+* output_thread: check again if output is open on PAUSE
ver 0.15.5 (2009/10/18)
diff --git a/src/output_thread.c b/src/output_thread.c
index 9ca844623..770b377e8 100644
--- a/src/output_thread.c
+++ b/src/output_thread.c
@@ -248,6 +248,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