[MPlayer-cvslog] r27665 - in trunk: DOCS/tech/slave.txt input/input.c mplayer.c

reimar subversion at mplayerhq.hu
Thu Sep 25 19:40:34 CEST 2008


Author: reimar
Date: Thu Sep 25 19:40:33 2008
New Revision: 27665

Log:
Add an experimental pausing_keep_force slave mode command prefix

Modified:
   trunk/DOCS/tech/slave.txt
   trunk/input/input.c
   trunk/mplayer.c

Modified: trunk/DOCS/tech/slave.txt
==============================================================================
--- trunk/DOCS/tech/slave.txt	(original)
+++ trunk/DOCS/tech/slave.txt	Thu Sep 25 19:40:33 2008
@@ -26,6 +26,10 @@ after processing the command. "pausing_k
 it was already in paused mode. "pausing_toggle " tells MPlayer to do so
 only if it was not already in paused mode. Please note that "as soon as
 possible" can be before the command is fully executed.
+As a temporary hack, there is also the _experimental_ "pausing_keep_force "
+prefix, with which MPlayer will not exit the pause loop at all.
+Like this you can avoid the "frame stepping" effect of "pausing_keep "
+but most commands will either not work at all or behave in unexpected ways.
 
 
 Available commands ('mplayer -input cmdlist' will print a list):

Modified: trunk/input/input.c
==============================================================================
--- trunk/input/input.c	(original)
+++ trunk/input/input.c	Thu Sep 25 19:40:33 2008
@@ -771,6 +771,9 @@ mp_input_parse_cmd(char* str) {
   } else if (strncmp(str, "pausing_toggle ", 15) == 0) {
     pausing = 3;
     str = &str[15];
+  } else if (strncmp(str, "pausing_keep_force ", 19) == 0) {
+    pausing = 4;
+    str = &str[19];
   }
 
   for(ptr = str ; ptr[0] != '\0'  && ptr[0] != '\t' && ptr[0] != ' ' ; ptr++)

Modified: trunk/mplayer.c
==============================================================================
--- trunk/mplayer.c	(original)
+++ trunk/mplayer.c	Thu Sep 25 19:40:33 2008
@@ -2353,9 +2353,10 @@ static void pause_loop(void)
 	mpctx->audio_out->pause();	// pause audio, keep data if possible
 
     while ( (cmd = mp_input_get_cmd(20, 1, 1)) == NULL
-            || cmd->id == MP_CMD_SET_MOUSE_POS) {
+            || cmd->id == MP_CMD_SET_MOUSE_POS || cmd->pausing == 4) {
 	if (cmd) {
 	  cmd = mp_input_get_cmd(0,1,0);
+	  run_command(mpctx, cmd);
 	  mp_cmd_free(cmd);
 	  continue;
 	}



More information about the MPlayer-cvslog mailing list