1
0
mirror of https://github.com/mpv-player/mpv synced 2025-04-11 04:01:31 +00:00

command: new property: pid (process id)

Fixes #7562
This commit is contained in:
Avi Halachmi (:avih) 2021-05-01 15:26:50 +03:00
parent 7df9ebda6c
commit f3b2ea9de5
2 changed files with 12 additions and 0 deletions

View File

@ -1821,6 +1821,9 @@ Property list
.. note:: This is only an estimate. (It's computed from two unreliable .. note:: This is only an estimate. (It's computed from two unreliable
quantities: fps and possibly rounded timestamps.) quantities: fps and possibly rounded timestamps.)
``pid``
Process-id of mpv.
``path`` ``path``
Full path of the currently played file. Usually this is exactly the same Full path of the currently played file. Usually this is exactly the same
string you pass on the mpv command line or the ``loadfile`` command, even string you pass on the mpv command line or the ``loadfile`` command, even

View File

@ -54,6 +54,7 @@
#include "options/m_option.h" #include "options/m_option.h"
#include "options/m_property.h" #include "options/m_property.h"
#include "options/m_config_frontend.h" #include "options/m_config_frontend.h"
#include "osdep/getpid.h"
#include "video/out/vo.h" #include "video/out/vo.h"
#include "video/csputils.h" #include "video/csputils.h"
#include "video/hwdec.h" #include "video/hwdec.h"
@ -426,6 +427,13 @@ static int mp_property_display_sync_active(void *ctx, struct m_property *prop,
return m_property_flag_ro(action, arg, mpctx->display_sync_active); return m_property_flag_ro(action, arg, mpctx->display_sync_active);
} }
static int mp_property_pid(void *ctx, struct m_property *prop,
int action, void *arg)
{
// 32 bit on linux/windows - which C99 `int' is not guaranteed to hold
return m_property_int64_ro(action, arg, mp_getpid());
}
/// filename with path (RO) /// filename with path (RO)
static int mp_property_path(void *ctx, struct m_property *prop, static int mp_property_path(void *ctx, struct m_property *prop,
int action, void *arg) int action, void *arg)
@ -3500,6 +3508,7 @@ static int mp_property_script_props(void *ctx, struct m_property *prop,
// Base list of properties. This does not include option-mapped properties. // Base list of properties. This does not include option-mapped properties.
static const struct m_property mp_properties_base[] = { static const struct m_property mp_properties_base[] = {
// General // General
{"pid", mp_property_pid},
{"speed", mp_property_playback_speed}, {"speed", mp_property_playback_speed},
{"audio-speed-correction", mp_property_av_speed_correction, .priv = "a"}, {"audio-speed-correction", mp_property_av_speed_correction, .priv = "a"},
{"video-speed-correction", mp_property_av_speed_correction, .priv = "v"}, {"video-speed-correction", mp_property_av_speed_correction, .priv = "v"},