summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwm4 <wm4@mplayer2.org>2012-02-09 00:36:53 +0100
committerwm4 <wm4@mplayer2.org>2012-02-09 00:36:53 +0100
commitbbdff34d696f24cd091ca91e37043872b01aae37 (patch)
tree917d90296b086bf0f9c19053bd041d1fcdd8d482
parentf0777d67ce170645ecae3ee56ce99b3e1d1ba949 (diff)
downloadmpv-bbdff34d696f24cd091ca91e37043872b01aae37.tar.bz2
mpv-bbdff34d696f24cd091ca91e37043872b01aae37.tar.xz
core: add option to start in paused state
The --paused option will start the player in paused state. That means it will start out with a still image of the first frame. This can be useful in combination with --ss to inspect a certain frame. Caveat: this plays a small bit of audio at the start, which might be perceived as an annoying artifact. This is because this is implemented by frame stepping after initialization in order to decode and display the first video frame.
-rw-r--r--cfg-mplayer.h3
-rw-r--r--mplayer.c3
-rw-r--r--options.h1
3 files changed, 7 insertions, 0 deletions
diff --git a/cfg-mplayer.h b/cfg-mplayer.h
index d5d711f6bb..4fc7b4ddd7 100644
--- a/cfg-mplayer.h
+++ b/cfg-mplayer.h
@@ -485,6 +485,9 @@ const m_option_t common_opts[] = {
{"sb", &seek_to_byte, CONF_TYPE_POSITION, CONF_MIN, 0, 0, NULL},
OPT_TIME("ss", seek_to_sec, 0),
+ // start paused
+ OPT_FLAG_ON("paused", start_paused, 0),
+
// stop at given position
{"endpos", &end_at, CONF_TYPE_TIME_SIZE, 0, 0, 0, NULL},
diff --git a/mplayer.c b/mplayer.c
index e74f53d65d..1c2bc7efa3 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -5002,6 +5002,9 @@ goto_enable_cache:
vo_control(mpctx->video_out,
mpctx->paused ? VOCTRL_PAUSE : VOCTRL_RESUME, NULL);
+ if (mpctx->opts.start_paused)
+ add_step_frame(mpctx);
+
while (!mpctx->stop_play)
run_playloop(mpctx);
diff --git a/options.h b/options.h
index 5d44ce5084..670c3ac6e5 100644
--- a/options.h
+++ b/options.h
@@ -67,6 +67,7 @@ typedef struct MPOpts {
int doubleclick_time;
int list_properties;
double seek_to_sec;
+ int start_paused;
int audio_id;
int video_id;
int sub_id;