From bbdff34d696f24cd091ca91e37043872b01aae37 Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 9 Feb 2012 00:36:53 +0100 Subject: 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. --- cfg-mplayer.h | 3 +++ mplayer.c | 3 +++ options.h | 1 + 3 files changed, 7 insertions(+) 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; -- cgit v1.2.3