mirror of
https://gitee.com/openharmony/third_party_ffmpeg
synced 2024-11-27 21:20:41 +00:00
dont use SDL_WM_ToggleFullScreen() as that doesnt seem to work reliably if a SDL_SetVideoMode() is called quickly afterwards
Originally committed as revision 7390 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
cfe9cfede8
commit
fb84155b67
29
ffplay.c
29
ffplay.c
@ -833,22 +833,21 @@ static int video_open(VideoState *is){
|
|||||||
int flags = SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL;
|
int flags = SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL;
|
||||||
int w,h;
|
int w,h;
|
||||||
|
|
||||||
|
if(is_full_screen) flags |= SDL_FULLSCREEN;
|
||||||
|
else flags |= SDL_RESIZABLE;
|
||||||
|
|
||||||
if (is_full_screen && fs_screen_width) {
|
if (is_full_screen && fs_screen_width) {
|
||||||
w = fs_screen_width;
|
w = fs_screen_width;
|
||||||
h = fs_screen_height;
|
h = fs_screen_height;
|
||||||
flags |= SDL_FULLSCREEN;
|
} else if(!is_full_screen && screen_width){
|
||||||
|
w = screen_width;
|
||||||
|
h = screen_height;
|
||||||
|
}else if (is->video_st && is->video_st->codec->width){
|
||||||
|
w = is->video_st->codec->width;
|
||||||
|
h = is->video_st->codec->height;
|
||||||
} else {
|
} else {
|
||||||
if(screen_width){
|
w = 640;
|
||||||
w = screen_width;
|
h = 480;
|
||||||
h = screen_height;
|
|
||||||
}else if (is->video_st && is->video_st->codec->width){
|
|
||||||
w = is->video_st->codec->width;
|
|
||||||
h = is->video_st->codec->height;
|
|
||||||
} else {
|
|
||||||
w = 640;
|
|
||||||
h = 480;
|
|
||||||
}
|
|
||||||
flags |= SDL_RESIZABLE;
|
|
||||||
}
|
}
|
||||||
#ifndef CONFIG_DARWIN
|
#ifndef CONFIG_DARWIN
|
||||||
screen = SDL_SetVideoMode(w, h, 0, flags);
|
screen = SDL_SetVideoMode(w, h, 0, flags);
|
||||||
@ -2147,11 +2146,9 @@ static void toggle_full_screen(void)
|
|||||||
is_full_screen = !is_full_screen;
|
is_full_screen = !is_full_screen;
|
||||||
if (!fs_screen_width) {
|
if (!fs_screen_width) {
|
||||||
/* use default SDL method */
|
/* use default SDL method */
|
||||||
SDL_WM_ToggleFullScreen(screen);
|
// SDL_WM_ToggleFullScreen(screen);
|
||||||
} else {
|
|
||||||
/* use the recorded resolution */
|
|
||||||
video_open(cur_stream);
|
|
||||||
}
|
}
|
||||||
|
video_open(cur_stream);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void toggle_pause(void)
|
static void toggle_pause(void)
|
||||||
|
Loading…
Reference in New Issue
Block a user