From 418c90faac6522c73481650d000e9f5f030187cb Mon Sep 17 00:00:00 2001 From: Marton Balint Date: Sat, 24 Nov 2018 23:09:24 +0100 Subject: [PATCH] ffplay: fix -x and -y options when only one of them is used Previously if only -y was used then nothing happened, if only -x then zero window height was set which is undefined in SDL and caused a black window. From now on if only one dimension is set we calculate the other based on size/aspect of the shown content. Signed-off-by: Marton Balint --- fftools/ffplay.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/fftools/ffplay.c b/fftools/ffplay.c index 37a853fbd9..6a195e5542 100644 --- a/fftools/ffplay.c +++ b/fftools/ffplay.c @@ -1322,7 +1322,11 @@ static void sigterm_handler(int sig) static void set_default_window_size(int width, int height, AVRational sar) { SDL_Rect rect; - calculate_display_rect(&rect, 0, 0, INT_MAX, height, width, height, sar); + int max_width = screen_width ? screen_width : INT_MAX; + int max_height = screen_height ? screen_height : INT_MAX; + if (max_width == INT_MAX && max_height == INT_MAX) + max_height = height; + calculate_display_rect(&rect, 0, 0, max_width, max_height, width, height, sar); default_width = rect.w; default_height = rect.h; } @@ -1331,13 +1335,8 @@ static int video_open(VideoState *is) { int w,h; - if (screen_width) { - w = screen_width; - h = screen_height; - } else { - w = default_width; - h = default_height; - } + w = screen_width ? screen_width : default_width; + h = screen_height ? screen_height : default_height; if (!window_title) window_title = input_filename;