summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/mplayer.13
-rw-r--r--mplayer.c8
2 files changed, 9 insertions, 2 deletions
diff --git a/DOCS/mplayer.1 b/DOCS/mplayer.1
index 8e3dff8caa..2aada5ad69 100644
--- a/DOCS/mplayer.1
+++ b/DOCS/mplayer.1
@@ -2075,9 +2075,10 @@ otherwise one of the following tokens:
.TP
.B Commands
.RSs
-.IPs "seek <value> [type=<0/1>]"
+.IPs "seek <value> [type=<0/1/2>]"
Seek to some place in the movie. Type 0 is a relative seek of +/- <value>
seconds. Type 1 seek to <value> % in the movie.
+Type 2 is a seek to an absolute position of <value> seconds.
.IPs "audio_delay <value>"
Adjust the audio delay of value seconds
.IPs quit
diff --git a/mplayer.c b/mplayer.c
index 6ddd566648..501890f923 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -1949,7 +1949,13 @@ if (stream->type==STREAMTYPE_DVDNAV && dvd_nav_still)
int v,abs;
v = cmd->args[0].v.i;
abs = (cmd->nargs > 1) ? cmd->args[1].v.i : 0;
- if(abs) {
+ if(abs==2) { /* Absolute seek to a specific timestamp in seconds */
+ abs_seek_pos = 1;
+ if(sh_video)
+ osd_function= (v > sh_video->timer) ? OSD_FFW : OSD_REW;
+ rel_seek_secs = v;
+ }
+ else if(abs) { /* Absolute seek by percentage */
abs_seek_pos = 3;
if(sh_video)
osd_function= (v > sh_video->timer) ? OSD_FFW : OSD_REW;