[FFmpeg-devel] [PATCH] ffplay: added option always on top for video window
James Almer
jamrial at gmail.com
Mon May 20 23:55:00 EEST 2019
On 5/20/2019 5:43 PM, Daniel Kučera wrote:
> po 20. 5. 2019 o 21:12 James Almer <jamrial at gmail.com> napísal(a):
>>
>> 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?
>
> The flag is available generally in the library since 2.0.5, but the
> windows implementation is there since 2.0.6 only.
>
> https://github.com/SDL-mirror/SDL/commit/a60edd403816eb8d7f77f18320b76d27c1db2973
>
> https://github.com/SDL-mirror/SDL/commit/76adc80cafd9f83dcfb36ada4b2b028487f7e1d8
Alright, pushed then. Thanks!
More information about the ffmpeg-devel
mailing list