# HG changeset patch # User reimar # Date 1222364433 0 # Node ID 6a7cdd00599f661eea85996957dac39fab1f2291 # Parent 8cc7db468b6b07b47cf3453251acb5472db0b801 Add an experimental pausing_keep_force slave mode command prefix diff -r 8cc7db468b6b -r 6a7cdd00599f DOCS/tech/slave.txt --- a/DOCS/tech/slave.txt Thu Sep 25 17:11:01 2008 +0000 +++ b/DOCS/tech/slave.txt Thu Sep 25 17:40:33 2008 +0000 @@ -26,6 +26,10 @@ 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): diff -r 8cc7db468b6b -r 6a7cdd00599f input/input.c --- a/input/input.c Thu Sep 25 17:11:01 2008 +0000 +++ b/input/input.c Thu Sep 25 17:40:33 2008 +0000 @@ -771,6 +771,9 @@ } 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++) diff -r 8cc7db468b6b -r 6a7cdd00599f mplayer.c --- a/mplayer.c Thu Sep 25 17:11:01 2008 +0000 +++ b/mplayer.c Thu Sep 25 17:40:33 2008 +0000 @@ -2353,9 +2353,10 @@ 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; }