mirror of https://git.ffmpeg.org/ffmpeg.git
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 <cus@passwd.hu>
This commit is contained in:
parent
9a39c5449f
commit
418c90faac
|
@ -1322,7 +1322,11 @@ static void sigterm_handler(int sig)
|
||||||
static void set_default_window_size(int width, int height, AVRational sar)
|
static void set_default_window_size(int width, int height, AVRational sar)
|
||||||
{
|
{
|
||||||
SDL_Rect rect;
|
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_width = rect.w;
|
||||||
default_height = rect.h;
|
default_height = rect.h;
|
||||||
}
|
}
|
||||||
|
@ -1331,13 +1335,8 @@ static int video_open(VideoState *is)
|
||||||
{
|
{
|
||||||
int w,h;
|
int w,h;
|
||||||
|
|
||||||
if (screen_width) {
|
w = screen_width ? screen_width : default_width;
|
||||||
w = screen_width;
|
h = screen_height ? screen_height : default_height;
|
||||||
h = screen_height;
|
|
||||||
} else {
|
|
||||||
w = default_width;
|
|
||||||
h = default_height;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!window_title)
|
if (!window_title)
|
||||||
window_title = input_filename;
|
window_title = input_filename;
|
||||||
|
|
Loading…
Reference in New Issue