[MPlayer-dev-eng] [PATCH] "pausing" command prefix
Reimar Döffinger
Reimar.Doeffinger at stud.uni-karlsruhe.de
Fri Nov 19 20:53:00 CET 2004
Hi,
> I'd like to get some comments from you on this patch, which introduces a
> "pausing" command prefix. This prefix causes MPlayer to go into paused
> mode as soon as possible after executing the command.
> My main use for it currently is that allows me to have a very close look
> at what MPlayer does step by step after executing a command (e.g. with
> -vo x11 -zoom first the window will be resized and only after one
> additional frame_step the video will have the right new size as
> well...).
> It's not much code, so tell me if I should commit it even though MPlayer
> is not made to work too well with it (as said above, e.g. the fullscreen
> command can take more than one frame to complete)...
I intend to apply this tomorrow, in the attache version (I only added a
paragraph to DOCS/tech/slave.txt).
Greetings,
Reimar Döffinger
-------------- next part --------------
diff -u input/input.c input/input.c
--- input/input.c 2004-10-30 13:45:23.000000000 +0200
+++ input/input.c 2004-11-12 14:57:17.970095861 +0100
@@ -542,6 +542,7 @@
mp_cmd_t*
mp_input_parse_cmd(char* str) {
int i,l;
+ int pausing = 0;
char *ptr,*e;
mp_cmd_t *cmd, *cmd_def;
@@ -549,6 +550,11 @@
assert(str != NULL);
#endif
+ if (strncmp(str, "pausing ", 8) == 0) {
+ pausing = 1;
+ str = &str[8];
+ }
+
for(ptr = str ; ptr[0] != '\0' && ptr[0] != '\t' && ptr[0] != ' ' ; ptr++)
/* NOTHING */;
if(ptr[0] != '\0')
@@ -572,6 +578,7 @@
cmd = (mp_cmd_t*)malloc(sizeof(mp_cmd_t));
cmd->id = cmd_def->id;
cmd->name = strdup(cmd_def->name);
+ cmd->pausing = pausing;
ptr = str;
diff -u input/input.h input/input.h
--- input/input.h 2004-10-20 22:20:37.000000000 +0200
+++ input/input.h 2004-11-12 14:56:49.593989237 +0100
@@ -139,6 +139,7 @@
char* name;
int nargs;
mp_cmd_arg_t args[MP_CMD_MAX_ARGS];
+ int pausing;
} mp_cmd_t;
--- mplayer.c 2004-11-09 23:18:18.000000000 +0100
+++ mplayer.c 2004-11-12 15:09:33.809065871 +0100
@@ -2735,7 +2735,7 @@
} break;
case MP_CMD_FRAME_STEP :
case MP_CMD_PAUSE : {
- osd_function=OSD_PAUSE;
+ cmd->pausing = 1;
brk_cmd = 1;
} break;
case MP_CMD_QUIT : {
@@ -3650,6 +3650,8 @@
mp_msg(MSGT_CPLAYER, MSGL_V, "Received unknown cmd %s\n",cmd->name);
}
}
+ if (cmd->pausing)
+ osd_function = OSD_PAUSE;
mp_cmd_free(cmd);
}
}
Index: DOCS/tech/slave.txt
===================================================================
RCS file: /cvsroot/mplayer/main/DOCS/tech/slave.txt,v
retrieving revision 1.24
diff -u -r1.24 slave.txt
--- DOCS/tech/slave.txt 21 Oct 2004 11:06:30 -0000 1.24
+++ DOCS/tech/slave.txt 19 Nov 2004 19:50:03 -0000
@@ -231,3 +231,8 @@
run <value>
???
+
+All commands can be prefixed with "pausing ", causing MPlayer to get into
+paused mode as soon as possible after processing the command.
+Please note that this can be before the command is fully executed.
+
More information about the MPlayer-dev-eng
mailing list