Mercurial > mplayer.hg
changeset 27633:6a7cdd00599f
Add an experimental pausing_keep_force slave mode command prefix
author | reimar |
---|---|
date | Thu, 25 Sep 2008 17:40:33 +0000 |
parents | 8cc7db468b6b |
children | 9d0094f6cdf6 |
files | DOCS/tech/slave.txt input/input.c mplayer.c |
diffstat | 3 files changed, 9 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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):
--- 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++)
--- 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; }