diff mbox

[FFmpeg-devel] Allow borderless playback windows

Message ID 137ead00-c5a5-2471-4ec8-42e5682e3f5b@adam.com.au
State Superseded
Headers show

Commit Message

Lucas Sandery Jan. 31, 2017, 12:02 a.m. UTC
For a pure video tile effect, and enabling better integration of 
playback windows into other programs. It would improve the looks in many 
situations and avoid ugly hacks like this:
http://stackoverflow.com/q/31465630/315024

Comments

Marton Balint Jan. 31, 2017, 12:58 a.m. UTC | #1
On Tue, 31 Jan 2017, Lucas Sandery wrote:

> For a pure video tile effect, and enabling better integration of playback 
> windows into other programs. It would improve the looks in many situations 
> and avoid ugly hacks like this:
> http://stackoverflow.com/q/31465630/315024
>

Could you please add some documentation for the new option to 
doc/ffplay.texi as well?

Thanks,
Marton
diff mbox

Patch

From f1519f82373366596e4f2fee80a3e6be043daad6 Mon Sep 17 00:00:00 2001
From: Lucas Sandery <lucas-sandery@users.noreply.github.com>
Date: Tue, 31 Jan 2017 10:01:40 +1030
Subject: [PATCH] Allow borderless playback windows

For a pure video tile effect, and enabling better integration of playback windows
into other programs. It would improve the looks in many situations and avoid ugly
hacks like this: http://stackoverflow.com/q/31465630/315024

Signed-off-by: Lucas Sandery <lucas-sandery@users.noreply.github.com>
---
 ffplay.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/ffplay.c b/ffplay.c
index 7ea172f8da..6a426da33b 100644
--- a/ffplay.c
+++ b/ffplay.c
@@ -321,6 +321,7 @@  static int subtitle_disable;
 static const char* wanted_stream_spec[AVMEDIA_TYPE_NB] = {0};
 static int seek_by_bytes = -1;
 static int display_disable;
+static int borderless;
 static int startup_volume = 100;
 static int show_status = 1;
 static int av_sync_type = AV_SYNC_AUDIO_MASTER;
@@ -1265,6 +1266,8 @@  static int video_open(VideoState *is)
             window_title = input_filename;
         if (is_full_screen)
             flags |= SDL_WINDOW_FULLSCREEN_DESKTOP;
+        if (borderless)
+            flags |= SDL_WINDOW_BORDERLESS;
         window = SDL_CreateWindow(window_title, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, w, h, flags);
         SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear");
         if (window) {
@@ -3513,6 +3516,7 @@  static const OptionDef options[] = {
     { "t", HAS_ARG, { .func_arg = opt_duration }, "play  \"duration\" seconds of audio/video", "duration" },
     { "bytes", OPT_INT | HAS_ARG, { &seek_by_bytes }, "seek by bytes 0=off 1=on -1=auto", "val" },
     { "nodisp", OPT_BOOL, { &display_disable }, "disable graphical display" },
+    { "noborder", OPT_BOOL, { &borderless }, "borderless display" },
     { "volume", OPT_INT | HAS_ARG, { &startup_volume}, "set startup volume 0=min 100=max", "volume" },
     { "f", HAS_ARG, { .func_arg = opt_format }, "force format", "fmt" },
     { "pix_fmt", HAS_ARG | OPT_EXPERT | OPT_VIDEO, { .func_arg = opt_frame_pix_fmt }, "set pixel format", "format" },
-- 
2.11.0.windows.3