summaryrefslogtreecommitdiffstats
path: root/audio/decode/dec_audio.h
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2014-07-24 15:26:07 +0200
committerwm4 <wm4@nowhere>2014-07-24 15:26:07 +0200
commit986099d32356bb2c9520ae32b987e7155be55605 (patch)
treeadede5a57aaf8b7800c50cd2782fd12c6051cce1 /audio/decode/dec_audio.h
parentb77dab0f6e7a43d9a9480626805317df7843bf7a (diff)
downloadmpv-986099d32356bb2c9520ae32b987e7155be55605.tar.bz2
mpv-986099d32356bb2c9520ae32b987e7155be55605.tar.xz
audio: fix race condition in EOF code
Don't return an EOF code if there's still buffered data. Also, don't call demux_stream_eof() in the playloop. There's probably nothing wrong with it, but it's cleaner not to use it. Also give AD_EOF its own value, so that a decoding error doesn't drain audio by causing an EOF condition.
Diffstat (limited to 'audio/decode/dec_audio.h')
-rw-r--r--audio/decode/dec_audio.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/audio/decode/dec_audio.h b/audio/decode/dec_audio.h
index c1b5eafb49..f9269b5272 100644
--- a/audio/decode/dec_audio.h
+++ b/audio/decode/dec_audio.h
@@ -51,9 +51,9 @@ struct dec_audio {
enum {
AD_OK = 0,
AD_ERR = -1,
- AD_EOF = -1, // same as AD_ERR for now
AD_NEW_FMT = -2,
AD_ASYNC_PLAY_DONE = -3,
+ AD_EOF = -4,
};
struct mp_decoder_list *audio_decoder_list(void);