lavd/sdl: add delay when no events are found in the event queue

Avoid busy loops and decrease CPU usage.

Suggested-By: Roger Pack
pull/49/head
Stefano Sabatini 11 years ago
parent 35349bbb97
commit 7043311969
  1. 8
      libavdevice/sdl.c

@ -180,10 +180,14 @@ init_end:
SDL_Event event;
SDL_PumpEvents();
ret = SDL_PeepEvents(&event, 1, SDL_GETEVENT, SDL_ALLEVENTS);
if (ret < 0)
if (ret < 0) {
av_log(s, AV_LOG_ERROR, "Error when getting SDL event: %s\n", SDL_GetError());
if (ret <= 0)
continue;
}
if (ret == 0) {
SDL_Delay(10);
continue;
}
switch (event.type) {
case SDL_KEYDOWN:

Loading…
Cancel
Save