summaryrefslogtreecommitdiff
path: root/ffplay.c
diff options
context:
space:
mode:
authorMarton Balint <cus@passwd.hu>2011-12-13 23:27:24 +0100
committerMarton Balint <cus@passwd.hu>2011-12-14 21:09:08 +0100
commit9fb2b412585f94d4a74eb93598b0b1cc3482c189 (patch)
tree82d2d1e069c0494c8bb0f90d68f2413971424ae8 /ffplay.c
parent54c7e81a53cd6c29d4f8673d83f53adef73e9b72 (diff)
downloadffmpeg-9fb2b412585f94d4a74eb93598b0b1cc3482c189.tar.gz
ffplay: force setting video mode on fullscreen toggle
Fixes ticket #736. Based on the patch by glangshaw. Signed-off-by: Marton Balint <cus@passwd.hu>
Diffstat (limited to 'ffplay.c')
-rw-r--r--ffplay.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/ffplay.c b/ffplay.c
index e391754863..391f74e9f5 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -922,7 +922,7 @@ static void do_exit(VideoState *is)
exit(0);
}
-static int video_open(VideoState *is){
+static int video_open(VideoState *is, int force_set_video_mode){
int flags = SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL;
int w,h;
@@ -949,7 +949,7 @@ static int video_open(VideoState *is){
h = 480;
}
if(screen && is->width == screen->w && screen->w == w
- && is->height== screen->h && screen->h == h)
+ && is->height== screen->h && screen->h == h && !force_set_video_mode)
return 0;
screen = SDL_SetVideoMode(w, h, 0, flags);
if (!screen) {
@@ -970,7 +970,7 @@ static int video_open(VideoState *is){
static void video_display(VideoState *is)
{
if(!screen)
- video_open(is);
+ video_open(is, 0);
if (is->audio_st && is->show_mode != SHOW_MODE_VIDEO)
video_audio_display(is);
else if (is->video_st)
@@ -2781,7 +2781,7 @@ static void toggle_full_screen(VideoState *is)
is->pictq[i].reallocate = 1;
}
#endif
- video_open(is);
+ video_open(is, 1);
}
static void toggle_pause(VideoState *is)
@@ -2933,7 +2933,7 @@ static void event_loop(VideoState *cur_stream)
do_exit(cur_stream);
break;
case FF_ALLOC_EVENT:
- video_open(event.user.data1);
+ video_open(event.user.data1, 0);
alloc_picture(event.user.data1);
break;
case FF_REFRESH_EVENT: