diff --git a/ffplay.c b/ffplay.c
index 018cd40283002b208b93d8c75373445beef7dc9e..c8d91997f32f94cd01ee73ca498c600c65401bbf 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -1439,7 +1439,11 @@ static int decode_thread(void *arg)
         }
         ret = av_read_frame(ic, pkt);
         if (ret < 0) {
-            break;
+	    if (url_feof(&ic->pb) && url_ferror(&ic->pb) == 0) {
+                SDL_Delay(100); /* wait for user event */
+		continue;
+	    } else
+	        break;
         }
         if (pkt->stream_index == is->audio_stream) {
             packet_queue_put(&is->audioq, pkt);