[FFmpeg-devel] [PATCH] ffplay: added option always on top for video window

James Almer jamrial at gmail.com
Mon May 20 22:04:07 EEST 2019


On 5/20/2019 4:01 PM, Marton Balint wrote:
> 
> On Mon, 20 May 2019, Carl Eugen Hoyos wrote:
> 
>> Marton,
>>
>> Am Mo., 13. Mai 2019 um 13:42 Uhr schrieb Daniel Kucera
>> <daniel.kucera at gmail.com>:
>>>
>>> From: Daniel Kucera <github at danman.eu>
>>>
>>> Signed-off-by: Daniel Kucera <github at danman.eu>
>>> ---
>>>  doc/ffplay.texi  | 2 ++
>>>  fftools/ffplay.c | 8 ++++++++
>>>  2 files changed, 10 insertions(+)
>>>
>>> diff --git a/doc/ffplay.texi b/doc/ffplay.texi
>>> index c305465078..a487c0de8d 100644
>>> --- a/doc/ffplay.texi
>>> +++ b/doc/ffplay.texi
>>> @@ -66,6 +66,8 @@ Set custom interval, in seconds, for seeking using
>>> left/right keys. Default is 1
>>>  Disable graphical display.
>>>  @item -noborder
>>>  Borderless window.
>>> + at item -alwaysontop
>>> +Window always on top. Available on: X11 with SDL >= 2.0.5, Windows
>>> SDL >= 2.0.6.
>>>  @item -volume
>>>  Set the startup volume. 0 means silence, 100 means no volume
>>> reduction or
>>>  amplification. Negative values are treated as 0, values above 100
>>> are treated
>>> diff --git a/fftools/ffplay.c b/fftools/ffplay.c
>>> index 8f050e16e6..8fb8faeb06 100644
>>> --- a/fftools/ffplay.c
>>> +++ b/fftools/ffplay.c
>>> @@ -324,6 +324,7 @@ static int seek_by_bytes = -1;
>>>  static float seek_interval = 10;
>>>  static int display_disable;
>>>  static int borderless;
>>> +static int alwaysontop;
>>>  static int startup_volume = 100;
>>>  static int show_status = 1;
>>>  static int av_sync_type = AV_SYNC_AUDIO_MASTER;
>>> @@ -3581,6 +3582,7 @@ static const OptionDef options[] = {
>>>      { "seek_interval", OPT_FLOAT | HAS_ARG, { &seek_interval }, "set
>>> seek interval for left/right keys, in seconds", "seconds" },
>>>      { "nodisp", OPT_BOOL, { &display_disable }, "disable graphical
>>> display" },
>>>      { "noborder", OPT_BOOL, { &borderless }, "borderless window" },
>>> +    { "alwaysontop", OPT_BOOL, { &alwaysontop }, "window always on
>>> top" },
>>>      { "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" },
>>> @@ -3722,6 +3724,12 @@ int main(int argc, char **argv)
>>>
>>>      if (!display_disable) {
>>>          int flags = SDL_WINDOW_HIDDEN;
>>> +        if (alwaysontop)
>>> +#if SDL_VERSION_ATLEAST(2,0,5)
>>> +            flags |= SDL_WINDOW_ALWAYS_ON_TOP;
>>> +#else
>>> +            av_log(NULL, AV_LOG_WARNING, "Your SDL version doesn't
>>> support SDL_WINDOW_ALWAYS_ON_TOP. Feature will be inactive.\n");
>>> +#endif
>>
>> Is there any reason you are against this patch?
> 
> I am not against it, it looks good to me.

Is the flag available in 2.0.5 for Windows, or only since 2.0.6 as the
doxy addition mentions?


More information about the ffmpeg-devel mailing list