@@ -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;
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 <cus@passwd.hu> --- fftools/ffplay.c | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-)