diff --git a/libavdevice/sdl.c b/libavdevice/sdl.c
index 72d327e8e8df3f08e582f591dd2e93194eb0f3f4..2f36f632d9bd36f60a46968b3dd0e0183d3354fc 100644
--- a/libavdevice/sdl.c
+++ b/libavdevice/sdl.c
@@ -292,7 +292,7 @@ static int sdl_write_header(AVFormatContext *s)
 
     /* wait until the video system has been inited */
     SDL_LockMutex(sdl->mutex);
-    if (!sdl->inited) {
+    while (!sdl->inited) {
         SDL_CondWait(sdl->init_cond, sdl->mutex);
     }
     SDL_UnlockMutex(sdl->mutex);