diff options
-rw-r--r-- | audio/filter/af_scaletempo.c | 4 | ||||
-rw-r--r-- | core/command.c | 8 | ||||
-rw-r--r-- | core/input/input.c | 17 | ||||
-rw-r--r-- | core/mplayer.c | 2 | ||||
-rw-r--r-- | core/options.c | 2 | ||||
-rw-r--r-- | core/options.h | 2 |
6 files changed, 18 insertions, 17 deletions
diff --git a/audio/filter/af_scaletempo.c b/audio/filter/af_scaletempo.c index b12954f1af..d409ed85cf 100644 --- a/audio/filter/af_scaletempo.c +++ b/audio/filter/af_scaletempo.c @@ -444,11 +444,11 @@ static int control(struct af_instance* af, int cmd, void* arg) if (s->speed_pitch) { break; } - s->speed = *(float*)arg; + s->speed = *(double *)arg; s->scale = s->speed * s->scale_nominal; } else { if (s->speed_pitch) { - s->speed = 1 / *(float*)arg; + s->speed = 1 / *(double *)arg; s->scale = s->speed * s->scale_nominal; break; } diff --git a/core/command.c b/core/command.c index e50121fede..a2d4d2ee56 100644 --- a/core/command.c +++ b/core/command.c @@ -127,7 +127,7 @@ static int mp_property_playback_speed(m_option_t *prop, int action, double orig_speed = opts->playback_speed; switch (action) { case M_PROPERTY_SET: { - opts->playback_speed = *(float *) arg; + opts->playback_speed = *(double *) arg; // Adjust time until next frame flip for nosound mode mpctx->time_frame *= orig_speed / opts->playback_speed; if (mpctx->sh_audio) @@ -2186,8 +2186,8 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd) .inc = 1, .wrap = cmd->id == MP_CMD_CYCLE, }; - if (cmd->args[1].v.f) - s.inc = cmd->args[1].v.f; + if (cmd->args[1].v.d) + s.inc = cmd->args[1].v.d; int r = mp_property_do(cmd->args[0].v.s, M_PROPERTY_SWITCH, &s, mpctx); if (r == M_PROPERTY_OK || r == M_PROPERTY_UNAVAILABLE) { show_property_osd(mpctx, cmd->args[0].v.s, cmd->on_osd); @@ -2221,7 +2221,7 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd) } case MP_CMD_SPEED_MULT: { - float v = cmd->args[0].v.f; + double v = cmd->args[0].v.d; v *= mpctx->opts->playback_speed; mp_property_do("speed", M_PROPERTY_SET, &v, mpctx); show_property_osd(mpctx, "speed", cmd->on_osd); diff --git a/core/input/input.c b/core/input/input.c index 855e09887b..ae1358a76d 100644 --- a/core/input/input.c +++ b/core/input/input.c @@ -92,13 +92,14 @@ struct key_name { #define ARG_INT { .type = {"", NULL, &m_option_type_int} } #define ARG_FLOAT { .type = {"", NULL, &m_option_type_float} } +#define ARG_DOUBLE { .type = {"", NULL, &m_option_type_double} } #define ARG_STRING { .type = {"", NULL, &m_option_type_string} } #define ARG_CHOICE(c) { .type = {"", NULL, &m_option_type_choice, \ M_CHOICES(c)} } #define ARG_TIME { .type = {"", NULL, &m_option_type_time} } -#define OARG_FLOAT(def) { .type = {"", NULL, &m_option_type_float}, \ - .optional = true, .v.f = def } +#define OARG_DOUBLE(def) { .type = {"", NULL, &m_option_type_double}, \ + .optional = true, .v.d = def } #define OARG_INT(def) { .type = {"", NULL, &m_option_type_int}, \ .optional = true, .v.i = def } #define OARG_CHOICE(def, c) { .type = {"", NULL, &m_option_type_choice, \ @@ -129,7 +130,7 @@ static const mp_cmd_t mp_cmds[] = { {"exact", 1}, {"1", 1}, {"keyframes", -1}, {"-1", -1})), }}, - { MP_CMD_SPEED_MULT, "speed_mult", { ARG_FLOAT } }, + { MP_CMD_SPEED_MULT, "speed_mult", { ARG_DOUBLE } }, { MP_CMD_QUIT, "quit", { OARG_INT(0) } }, { MP_CMD_QUIT_WATCH_LATER, "quit_watch_later", }, { MP_CMD_STOP, "stop", }, @@ -195,12 +196,12 @@ static const mp_cmd_t mp_cmds[] = { { MP_CMD_KEYDOWN_EVENTS, "key_down_event", { ARG_INT } }, { MP_CMD_SET, "set", { ARG_STRING, ARG_STRING } }, { MP_CMD_GET_PROPERTY, "get_property", { ARG_STRING } }, - { MP_CMD_ADD, "add", { ARG_STRING, OARG_FLOAT(0) } }, + { MP_CMD_ADD, "add", { ARG_STRING, OARG_DOUBLE(0) } }, { MP_CMD_CYCLE, "cycle", { ARG_STRING, { .type = {"", NULL, &m_option_type_cycle_dir}, .optional = true, - .v.f = 1 }, + .v.d = 1 }, }}, { MP_CMD_ENABLE_INPUT_SECTION, "enable_section", { @@ -776,15 +777,15 @@ void mp_input_rm_key_fd(struct input_ctx *ictx, int fd) static int parse_cycle_dir(const struct m_option *opt, struct bstr name, struct bstr param, void *dst) { - float val; + double val; if (bstrcmp0(param, "up") == 0) { val = +1; } else if (bstrcmp0(param, "down") == 0) { val = -1; } else { - return m_option_type_float.parse(opt, name, param, dst); + return m_option_type_double.parse(opt, name, param, dst); } - *(float *)dst = val; + *(double *)dst = val; return 1; } diff --git a/core/mplayer.c b/core/mplayer.c index 31b1e88efa..d3872442ee 100644 --- a/core/mplayer.c +++ b/core/mplayer.c @@ -1576,7 +1576,7 @@ static int build_afilter_chain(struct MPContext *mpctx) new_srate = 8000; if (new_srate > 192000) new_srate = 192000; - opts->playback_speed = (float)new_srate / sh_audio->samplerate; + opts->playback_speed = (double)new_srate / sh_audio->samplerate; } } return init_audio_filters(sh_audio, new_srate, diff --git a/core/options.c b/core/options.c index e2a7589708..0409288b9e 100644 --- a/core/options.c +++ b/core/options.c @@ -448,7 +448,7 @@ const m_option_t mp_opts[] = { OPT_INTRANGE("srate", force_srate, 0, 1000, 8*48000), OPT_CHMAP("channels", audio_output_channels, CONF_MIN, .min = 1), OPT_AUDIOFORMAT("format", audio_output_format, 0), - OPT_FLOATRANGE("speed", playback_speed, 0, 0.01, 100.0), + OPT_DOUBLE("speed", playback_speed, M_OPT_RANGE, .min = 0.01, .max = 100.0), // set a-v distance OPT_FLOATRANGE("audio-delay", audio_delay, 0, -100.0, 100.0), diff --git a/core/options.h b/core/options.h index 9a8deb9e4d..c83ab7a73a 100644 --- a/core/options.h +++ b/core/options.h @@ -159,7 +159,7 @@ typedef struct MPOpts { int audio_output_format; int force_srate; int dtshd; - float playback_speed; + double playback_speed; struct m_obj_settings *vf_settings; struct m_obj_settings *af_settings; float movie_aspect; |