summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/en/changes.rst2
-rw-r--r--DOCS/man/en/options.rst21
-rw-r--r--demux/demux_lavf.c2
-rw-r--r--demux/demux_mkv.c2
-rw-r--r--options/m_config.c2
-rw-r--r--options/options.c6
-rw-r--r--options/options.h2
7 files changed, 16 insertions, 21 deletions
diff --git a/DOCS/man/en/changes.rst b/DOCS/man/en/changes.rst
index 01a210fae8..f1f336ac7c 100644
--- a/DOCS/man/en/changes.rst
+++ b/DOCS/man/en/changes.rst
@@ -158,11 +158,13 @@ Command Line Switches
``-endpos`` ``--length``
``-font`` ``--osd-font``
``-forcedsubsonly`` ``--sub-forced-only``
+ ``-forceidx`` ``--index``
``-format`` ``--audio-format``
``-fsmode-dontuse`` (removed)
``-fstype`` ``--x11-netwm`` (changed semantics)
``-hardframedrop`` ``--framedrop=hard``
``-identify`` (removed; use TOOLS/mpv_identify.sh)
+ ``-idx`` ``--index``
``-lavdopts ...`` ``--vd-lavc-...``
``-lavfdopts`` ``--demuxer-lavf-...``
``-lircconf`` ``--input-lirc-conf``
diff --git a/DOCS/man/en/options.rst b/DOCS/man/en/options.rst
index d121fe2adc..e7044c53d8 100644
--- a/DOCS/man/en/options.rst
+++ b/DOCS/man/en/options.rst
@@ -826,15 +826,6 @@ OPTIONS
Display only forced subtitles for the DVD subtitle stream selected by e.g.
``--slang``.
-``--forceidx``
- Force index rebuilding. Useful for files with broken index (A/V desync,
- etc). This will enable seeking in files where seeking was not possible.
-
- .. note::
-
- This option only works if the underlying media supports seeking
- (i.e. not with stdin, pipe, etc).
-
``--fps=<float>``
Override video framerate. Useful if the original value is wrong or missing.
@@ -1129,11 +1120,13 @@ OPTIONS
Mostly useful in slave mode, where mpv can be controlled through input
commands (see also ``--slave-broken``).
-``--idx``
- Rebuilds index of files if no index was found, allowing seeking. Useful
- with broken/incomplete downloads or badly created files. Now this is done
- automatically by the demuxers used for most video formats, meaning that
- this switch has no effect in the typical case. See also ``--forceidx``.
+``--index=<mode>``
+ Controls how to seek in files. Note that if the index is missing from a
+ file, it will be built on the fly by default, so you don't need to change
+ this. But it might help with some broken files.
+
+ :default: use an index if the file has one, or build it if missing
+ :recreate: don't read or use the file's index
.. note::
diff --git a/demux/demux_lavf.c b/demux/demux_lavf.c
index 58b6c75483..19e6357563 100644
--- a/demux/demux_lavf.c
+++ b/demux/demux_lavf.c
@@ -641,7 +641,7 @@ static int demux_open_lavf(demuxer_t *demuxer, enum demux_check check)
parse_cryptokey(avfc, lavfdopts->cryptokey);
if (lavfdopts->genptsmode)
avfc->flags |= AVFMT_FLAG_GENPTS;
- if (opts->index_mode == 0)
+ if (opts->index_mode != 1)
avfc->flags |= AVFMT_FLAG_IGNIDX;
#if LIBAVFORMAT_VERSION_MICRO >= 100
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index 462a93aaa8..7b712e07ab 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -690,7 +690,7 @@ static int demux_mkv_read_cues(demuxer_t *demuxer)
mkv_d->deferred_cues = 0;
- if (opts->index_mode == 0 || opts->index_mode == 2) {
+ if (opts->index_mode != 1) {
ebml_read_skip(demuxer->log, -1, s);
return 0;
}
diff --git a/options/m_config.c b/options/m_config.c
index 2ebf17bb70..f3b73784a5 100644
--- a/options/m_config.c
+++ b/options/m_config.c
@@ -981,5 +981,7 @@ static const char *const replaced_opts =
"|autosub#--sub-auto"
"|native-fs#--fs-missioncontrol"
"|status-msg#--term-status-msg"
+ "|idx#--index"
+ "|forceidx#--index"
"|"
;
diff --git a/options/options.c b/options/options.c
index 63f4653317..dfa5106658 100644
--- a/options/options.c
+++ b/options/options.c
@@ -186,9 +186,7 @@ const m_option_t mp_opts[] = {
OPT_FLAG("pause", pause, M_OPT_FIXED),
OPT_FLAG("keep-open", keep_open, 0),
- // AVI and Ogg only: (re)build index at startup
- OPT_FLAG_CONSTANTS("idx", index_mode, 0, -1, 1),
- OPT_FLAG_STORE("forceidx", index_mode, 0, 2),
+ OPT_CHOICE("index", index_mode, 0, ({"default", 1}, {"recreate", 0})),
// select audio/video/subtitle stream
OPT_TRACKCHOICE("aid", audio_id),
@@ -628,7 +626,7 @@ const struct MPOpts mp_default_opts = {
.hwdec_codecs = "h264,vc1,wmv3",
- .index_mode = -1,
+ .index_mode = 1,
.dvd_angle = 1,
diff --git a/options/options.h b/options/options.h
index 5368c2c1e1..b93a283b61 100644
--- a/options/options.h
+++ b/options/options.h
@@ -189,7 +189,7 @@ typedef struct MPOpts {
char *screenshot_template;
double force_fps;
- int index_mode; // -1=untouched 0=don't use index 1=use (generate) index
+ int index_mode;
struct mp_chmap audio_output_channels;
int audio_output_format;