From patchwork Mon May 13 11:42:37 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Daniel Kucera X-Patchwork-Id: 13093 Return-Path: X-Original-To: patchwork@ffaux-bg.ffmpeg.org Delivered-To: patchwork@ffaux-bg.ffmpeg.org Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by ffaux.localdomain (Postfix) with ESMTP id F323044925E for ; Mon, 13 May 2019 14:42:52 +0300 (EEST) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id D0C64688362; Mon, 13 May 2019 14:42:52 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 2C9F8688315 for ; Mon, 13 May 2019 14:42:46 +0300 (EEST) Received: by mail-wm1-f52.google.com with SMTP id n25so13293794wmk.4 for ; Mon, 13 May 2019 04:42:46 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=rvMtemoqPZikt1Loa/CScpXDOA/JOMpP1oPnhbSsUQw=; b=rIzdlQN1J4clRUBn4nBcHMkc1VuAhMcc30RitbSKYkDMKdX/qvGESlcSDsuNoodgEw TUmIdfGKeKoEbfJmBfYuH8NJoC1yIfFK0x2fknIK8eK9tBuSE7vOpGA0zrkC97H7k1Hu fiYN2+h39EusOBzHgojagsnCNMU3TfsblV3QPnSQOih4ICdTOjDhsYOjCQCyQFmBjRg4 fkpet6aEwN+2N/PhARjrTiN+CCWFVybGz8gvhvo0cFtBM7EB0ekemYw3tcvysXbOYJx7 g50T6B/jMHr98OgrYOKldHIQt3XAzodWBFH6JwiE08L53awd2T8A8hQzUHe4WKesFTU4 AWmQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=rvMtemoqPZikt1Loa/CScpXDOA/JOMpP1oPnhbSsUQw=; b=VbepFjZP+Ut9JJSC00ZUXDiAadkAKDP3X6Sahn6DFQZa5xecc9jFQ5kdqbthhu1Z0T okHu3QCHgpq6KpspKJc8JhYz62OhxwqkYw/U42vaQOszop7qTBdzSuLhhskDujUGZ1Pa 4d/MUYGhJXpltPafZEwsJJkeUqit6t4kFPXhs6IfF0O8qUNU/TFElrEUWXUd+KvpED3n l6R2Pmg/sqF8pqBKXF1bvT5GiTfkHS8sl1P0f9r0nuhAfwNoxV+PRdNEWURgK3JcodfM ocbyxUZK8+tpG/F0P2g6iVSW3TQ/NIP9eT/PU3ZP4PYUwft82RAc45ltF5mbMA4s4zO2 0T/Q== X-Gm-Message-State: APjAAAU/V/aTHFAp74kMDcsjV+7cGBSxfMoaI0lKbKKZbkmpXfaQ4Xp7 igbjMWleM3dDbEdCUQJn8/ZotIQ3/cc= X-Google-Smtp-Source: APXvYqwx7IpZYXbCttTpm/uF5f2Cr0eM/ehU2pmhA1PgmAOyWDIHkbHUbkcq1W3DFRXJO8kjIGa2OA== X-Received: by 2002:a1c:c917:: with SMTP id f23mr15333634wmb.11.1557747765212; Mon, 13 May 2019 04:42:45 -0700 (PDT) Received: from speedy.danman.eu ([2a06:cc0::5054:ff:febb:3523]) by smtp.gmail.com with ESMTPSA id x64sm9199317wmg.17.2019.05.13.04.42.43 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 13 May 2019 04:42:44 -0700 (PDT) From: Daniel Kucera To: ffmpeg-devel@ffmpeg.org Date: Mon, 13 May 2019 13:42:37 +0200 Message-Id: <20190513114237.20168-1-daniel.kucera@gmail.com> X-Mailer: git-send-email 2.17.1 Subject: [FFmpeg-devel] [PATCH] ffplay: added option always on top for video window X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Daniel Kucera MIME-Version: 1.0 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" From: Daniel Kucera Signed-off-by: Daniel Kucera --- 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. +@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 if (borderless) flags |= SDL_WINDOW_BORDERLESS; else