diff --git a/ffplay.c b/ffplay.c
index 757c07e0eebd10da486d4085d6dc3e75c32f4e1a..8517e80767970796e054712822e31ae28148e9b5 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -239,12 +239,15 @@ static AVPacket flush_pkt;
 
 static SDL_Surface *screen;
 
+static int packet_queue_put(PacketQueue *q, AVPacket *pkt);
+
 /* packet queue handling */
 static void packet_queue_init(PacketQueue *q)
 {
     memset(q, 0, sizeof(PacketQueue));
     q->mutex = SDL_CreateMutex();
     q->cond = SDL_CreateCond();
+    packet_queue_put(q, &flush_pkt);
 }
 
 static void packet_queue_flush(PacketQueue *q)