summaryrefslogtreecommitdiffstats
path: root/demux/demux_mkv.c
diff options
context:
space:
mode:
authorwm4 <wm4@nowhere>2020-03-13 16:49:39 +0100
committerwm4 <wm4@nowhere>2020-03-13 17:34:46 +0100
commit8d965a1bfb3782343a03cff44977f11bb920f0b1 (patch)
tree2d115c24510ab36cc9ac7af8dea2b710537561c9 /demux/demux_mkv.c
parent5d5a7e19537a036fe16ce04555e6ce9449c47494 (diff)
downloadmpv-8d965a1bfb3782343a03cff44977f11bb920f0b1.tar.bz2
mpv-8d965a1bfb3782343a03cff44977f11bb920f0b1.tar.xz
options: change how option range min/max is handled
Before this commit, option declarations used M_OPT_MIN/M_OPT_MAX (and some other identifiers based on these) to signal whether an option had min/max values. Remove these flags, and make it use a range implicitly on the condition if min<max is true. This requires care in all cases when only M_OPT_MIN or M_OPT_MAX were set (instead of both). Generally, the commit replaces all these instances with using DBL_MAX/DBL_MIN for the "unset" part of the range. This also happens to fix some cases where you could pass over-large values to integer options, which were silently truncated, but now cause an error. This commit has some higher potential for regressions.
Diffstat (limited to 'demux/demux_mkv.c')
-rw-r--r--demux/demux_mkv.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/demux/demux_mkv.c b/demux/demux_mkv.c
index a65afbfbc5..f16f537bd3 100644
--- a/demux/demux_mkv.c
+++ b/demux/demux_mkv.c
@@ -20,6 +20,7 @@
* License along with mpv. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <float.h>
#include <stdlib.h>
#include <stdio.h>
#include <inttypes.h>
@@ -230,10 +231,10 @@ const struct m_sub_options demux_mkv_conf = {
.opts = (const m_option_t[]) {
OPT_CHOICE("subtitle-preroll", subtitle_preroll, 0,
({"no", 0}, {"yes", 1}, {"index", 2})),
- OPT_DOUBLE("subtitle-preroll-secs", subtitle_preroll_secs,
- M_OPT_MIN, .min = 0),
- OPT_DOUBLE("subtitle-preroll-secs-index", subtitle_preroll_secs_index,
- M_OPT_MIN, .min = 0),
+ OPT_DOUBLE("subtitle-preroll-secs", subtitle_preroll_secs, 0,
+ .min = 0, .max = DBL_MAX),
+ OPT_DOUBLE("subtitle-preroll-secs-index", subtitle_preroll_secs_index, 0,
+ .min = 0, .max = DBL_MAX),
OPT_CHOICE("probe-video-duration", probe_duration, 0,
({"no", 0}, {"yes", 1}, {"full", 2})),
OPT_FLAG("probe-start-time", probe_start_time, 0),