# HG changeset patch # User reimar # Date 1349120865 0 # Node ID 5ba6eb55d3117ccc8294152e4764d91c16ae03a8 # Parent 011bbb6c624bca0af32b0a68355be328be2da041 Avoid sleeping for too long without reacting to user input. Fixes bug #2092. diff -r 011bbb6c624b -r 5ba6eb55d311 mplayer.c --- a/mplayer.c Sun Sep 30 09:48:37 2012 +0000 +++ b/mplayer.c Mon Oct 01 19:47:45 2012 +0000 @@ -2292,8 +2292,15 @@ //============================== SLEEP: =================================== // flag 256 means: libvo driver does its timing (dvb card) - if (*time_frame > 0.001 && !(vo_flags & 256)) - *time_frame = timing_sleep(*time_frame); + if (!(vo_flags & 256)) { + if (*time_frame > 1.5) { + // Avoid sleeping too long without reacting to user input + usec_sleep(1000000); + *time_frame -= GetRelativeTime(); + frame_time_remaining = 1; + } else if (*time_frame > 0.001) + *time_frame = timing_sleep(*time_frame); + } handle_udp_master(mpctx->sh_video->pts);