1
mirror of https://github.com/mpv-player/mpv synced 2024-07-31 16:29:58 +02:00

Add heartbeat-cmd option

git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@25639 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
reimar 2008-01-07 12:30:15 +00:00
parent 91ba3d6531
commit c3d4f52d7c
3 changed files with 29 additions and 0 deletions

View File

@ -836,6 +836,24 @@ More intense frame dropping (breaks decoding).
Leads to image distortion!
.
.TP
.B \-heartbeat-cmd
Command that is executed every 30 seconds during playback via system() -
i.e. using the shell.
.sp 1
.I NOTE:
MPlayer uses this command without any checking, it is your responsibility
to ensure it does not cause security problems (e.g. make sure to use full
paths if "." is in your path like on Windows).
.sp 1
This can be "misused" to disable screensavers that do not support the proper
X API for this.
.sp 1
.I EXAMPLE for gnome screensaver:
mplayer \-heartbeat-cmd "gnome-screensaver-command -p" file
.RE
.PD 1
.
.TP
.B \-identify
Shorthand for \-msglevel identify=4.
Show file parameters in an easily parseable format.

View File

@ -207,6 +207,7 @@ const m_option_t mplayer_opts[]={
{"stop_xscreensaver", "Use -stop-xscreensaver instead, options with _ have been obsoleted.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
{"fstype", &vo_fstype_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
#endif
{"heartbeat-cmd", &heartbeat_cmd, CONF_TYPE_STRING, 0, 0, 0, NULL},
{"mouseinput", &vo_nomouse_input, CONF_TYPE_FLAG, 0, 1, 0, NULL},
{"nomouseinput", &vo_nomouse_input, CONF_TYPE_FLAG,0, 0, 1, NULL},

View File

@ -89,6 +89,8 @@ int enable_mouse_movements=0;
char * proc_priority=NULL;
#endif
char *heartbeat_cmd;
#define ROUND(x) ((int)((x)<0 ? (x)-0.5 : (x)+0.5))
#ifdef HAVE_RTC
@ -3442,6 +3444,14 @@ if(!mpctx->sh_video) {
xscreensaver_heartbeat();
}
#endif
if (heartbeat_cmd) {
static unsigned last_heartbeat;
unsigned now = GetTimerMS();
if (now - last_heartbeat > 30000) {
last_heartbeat = now;
system(heartbeat_cmd);
}
}
frame_time_remaining = sleep_until_update(&time_frame, &aq_sleep_time);