mirror of
https://github.com/mpv-player/mpv
synced 2025-03-11 08:37:59 +00:00
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).
This commit is contained in:
parent
66f67835c3
commit
8ad8dedca8
@ -27,8 +27,13 @@
|
||||
#include <sys/types.h>
|
||||
#include <limits.h>
|
||||
|
||||
#include "options.h"
|
||||
#include "config.h"
|
||||
|
||||
#if HAVE_PRIORITY
|
||||
#include <windows.h>
|
||||
#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,
|
||||
|
@ -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;
|
||||
|
@ -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 <windows.h>
|
||||
#endif
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#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);
|
||||
}
|
||||
}
|
@ -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 */
|
@ -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)
|
||||
|
@ -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" ),
|
||||
|
Loading…
Reference in New Issue
Block a user