[FFmpeg-devel] ffplay -fs fix (ticket #3964)

Jeff Dwork jeff at reggie.com
Sat Sep 20 05:54:15 CEST 2014


On MS Windows, 'ffplay.exe -fs' does not start fullscreen. Behavior 
on linux is correct.

On Windows, the initial placement of the SDL screen triggers the 
SDL_VIDEORESIZE event. This executes the code in the event_loop which 
calls SDL_SetVideoMode with the SDL_RESIZEABLE bit set. On linux the 
resize event does not occur.

I can see an obvious flicker on my laptop as the initial fullscreen 
window is replaced by the normal window. I don't see it on my faster 
desktop system.

The fix is simple - don't execute SDL_SetVideoMode in the event_loop 
if is_full_screen is set.
Diff for ffplay version N-66289-gb76d613

diff original/ffplay.c fixed/ffplay.c
3469,3470c3469,3471
<                 screen = SDL_SetVideoMode(FFMIN(16383, 
event.resize.w), event.resize.h, 0,
< 
SDL_HWSURFACE|SDL_RESIZABLE|SDL_ASYNCBLIT|SDL_HWACCEL);
---
 >                 if (!is_full_screen)
 >                     screen = SDL_SetVideoMode(FFMIN(16383, 
event.resize.w), event.resize.h, 0,
 > 
SDL_HWSURFACE|SDL_RESIZABLE|SDL_ASYNCBLIT|SDL_HWACCEL);



More information about the ffmpeg-devel mailing list