From 8ad8dedca8189f7cff44b93f379a1520df3e05f9 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 12 Jun 2014 00:34:20 +0200 Subject: win32: implement --priority differently Does anyone actually use this? For now, update it, because it's the only case left where an option points to a global variable (and not a struct offset). --- options/options.c | 19 +++++++++++------ options/options.h | 2 ++ osdep/priority.c | 64 ------------------------------------------------------- osdep/priority.h | 30 -------------------------- player/main.c | 4 ++-- wscript_build.py | 1 - 6 files changed, 17 insertions(+), 103 deletions(-) delete mode 100644 osdep/priority.c delete mode 100644 osdep/priority.h diff --git a/options/options.c b/options/options.c index 4ecd3c6069..63f4653317 100644 --- a/options/options.c +++ b/options/options.c @@ -27,8 +27,13 @@ #include #include -#include "options.h" #include "config.h" + +#if HAVE_PRIORITY +#include +#endif + +#include "options.h" #include "m_config.h" #include "m_option.h" #include "common/common.h" @@ -41,7 +46,6 @@ #include "audio/decode/dec_audio.h" #include "player/core.h" #include "player/command.h" -#include "osdep/priority.h" extern const char mp_help_text[]; @@ -67,6 +71,7 @@ extern const struct m_sub_options vd_lavc_conf; extern const struct m_sub_options ad_lavc_conf; extern const struct m_sub_options input_config; extern const struct m_sub_options encode_config; +extern const struct m_sub_options image_writer_conf; extern const struct m_obj_list vf_obj_list; extern const struct m_obj_list af_obj_list; @@ -75,15 +80,12 @@ extern const struct m_obj_list ao_obj_list; #define OPT_BASE_STRUCT struct MPOpts -extern const struct m_sub_options image_writer_conf; - static const m_option_t screenshot_conf[] = { OPT_SUBSTRUCT("", screenshot_image_opts, image_writer_conf, 0), OPT_STRING("template", screenshot_template, 0), {0}, }; - const m_option_t mp_opts[] = { // handled in command line pre-parser (parse_commandline.c) {"v", NULL, CONF_TYPE_STORE, CONF_GLOBAL | CONF_NOCFG, 0, 0, NULL}, @@ -114,7 +116,12 @@ const m_option_t mp_opts[] = { OPT_FLAG("msg-module", msg_module, CONF_GLOBAL), OPT_FLAG("msg-time", msg_time, CONF_GLOBAL), #if HAVE_PRIORITY - {"priority", &proc_priority, CONF_TYPE_STRING, 0, 0, 0, NULL}, + OPT_CHOICE("priority", w32_priority, 0, + ({"no", 0}, + {"abovenormal", ABOVE_NORMAL_PRIORITY_CLASS}, + {"normal", NORMAL_PRIORITY_CLASS}, + {"belownormal", BELOW_NORMAL_PRIORITY_CLASS}, + {"idle", IDLE_PRIORITY_CLASS})), #endif OPT_FLAG("config", load_config, CONF_GLOBAL | CONF_NOCFG | CONF_PRE_PARSE), OPT_STRING("config-dir", force_configdir, diff --git a/options/options.h b/options/options.h index c89c6cfb19..5368c2c1e1 100644 --- a/options/options.h +++ b/options/options.h @@ -232,6 +232,8 @@ typedef struct MPOpts { int hwdec_api; char *hwdec_codecs; + int w32_priority; + int network_cookies_enabled; char *network_cookies_file; char *network_useragent; diff --git a/osdep/priority.c b/osdep/priority.c deleted file mode 100644 index 3fe1ee415e..0000000000 --- a/osdep/priority.c +++ /dev/null @@ -1,64 +0,0 @@ -/* - * implementation of '-priority' for OS/2 and Win32 - * - * Copyright (c) 2009 by KO Myung-Hun (komh@chollian.net) - * - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#if defined(__MINGW32__) || defined(__CYGWIN__) -#include -#endif - -#include - -#include "common/msg.h" - -#include "priority.h" - -char *proc_priority = NULL; - -void set_priority(void) -{ - struct { - char* name; - int prio; - } priority_presets_defs[] = { - { "realtime", REALTIME_PRIORITY_CLASS}, - { "high", HIGH_PRIORITY_CLASS}, -#ifdef ABOVE_NORMAL_PRIORITY_CLASS - { "abovenormal", ABOVE_NORMAL_PRIORITY_CLASS}, -#endif - { "normal", NORMAL_PRIORITY_CLASS}, -#ifdef BELOW_NORMAL_PRIORITY_CLASS - { "belownormal", BELOW_NORMAL_PRIORITY_CLASS}, -#endif - { "idle", IDLE_PRIORITY_CLASS}, - { NULL, NORMAL_PRIORITY_CLASS} /* default */ - }; - - if (proc_priority) { - int i; - - for (i = 0; priority_presets_defs[i].name; i++) { - if (strcasecmp(priority_presets_defs[i].name, proc_priority) == 0) - break; - } - - SetPriorityClass(GetCurrentProcess(), priority_presets_defs[i].prio); - } -} diff --git a/osdep/priority.h b/osdep/priority.h deleted file mode 100644 index 1a74f95665..0000000000 --- a/osdep/priority.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * header for implementation of '-priority' - * - * Copyright (c) 2009 by KO Myung-Hun (komh@chollian.net) - * - * This file is part of MPlayer. - * - * MPlayer is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * MPlayer is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with MPlayer; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - */ - -#ifndef MPLAYER_PRIORITY_H -#define MPLAYER_PRIORITY_H - -extern char *proc_priority; - -void set_priority(void); - -#endif /* MPLAYER_PRIORITY_H */ diff --git a/player/main.c b/player/main.c index 3ceb172480..b7e683ad05 100644 --- a/player/main.c +++ b/player/main.c @@ -30,7 +30,6 @@ #include "misc/dispatch.h" #include "osdep/io.h" -#include "osdep/priority.h" #include "osdep/terminal.h" #include "osdep/timer.h" @@ -521,7 +520,8 @@ int mpv_main(int argc, char *argv[]) } #if HAVE_PRIORITY - set_priority(); + if (opts->w32_priority > 0) + SetPriorityClass(GetCurrentProcess(), opts->w32_priority); #endif if (mp_initialize(mpctx) < 0) diff --git a/wscript_build.py b/wscript_build.py index 6f574ced6e..d2d514419b 100644 --- a/wscript_build.py +++ b/wscript_build.py @@ -383,7 +383,6 @@ def build(ctx): ( "osdep/path-win.c", "os-win32" ), ( "osdep/path-win.c", "os-cygwin" ), ( "osdep/glob-win.c", "glob-win32-replacement" ), - ( "osdep/priority.c", "priority" ), ( "osdep/w32_keyboard.c", "os-win32" ), ( "osdep/w32_keyboard.c", "os-cygwin" ), ( "osdep/mpv.rc", "win32-executable" ), -- cgit v1.2.3