diff --git a/cfg-mplayer.h b/cfg-mplayer.h index 080b04bd63..8dfebd2a5d 100644 --- a/cfg-mplayer.h +++ b/cfg-mplayer.h @@ -381,7 +381,7 @@ const m_option_t common_opts[] = { {"frames", &play_n_frames_mf, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL}, // seek to byte/seconds position - {"sb", &seek_to_byte, CONF_TYPE_POSITION, CONF_MIN, 0, 0, NULL}, + {"sb", &seek_to_byte, CONF_TYPE_INT64, CONF_MIN, 0, 0, NULL}, OPT_TIME("ss", seek_to_sec, 0), // start paused @@ -678,7 +678,7 @@ const m_option_t mplayer_opts[]={ OPT_STRING("vobsub", vobsub_name, 0), {"vobsubid", &vobsub_id, CONF_TYPE_INT, CONF_RANGE, 0, 31, NULL}, - {"sstep", &step_sec, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL}, + {"sstep", &step_sec, CONF_TYPE_DOUBLE, CONF_MIN, 0, 0, NULL}, OPT_CHOICE("framedrop", frame_dropping, 0, ({"no", 0}, diff --git a/command.c b/command.c index a68b8f3228..eab17a57d2 100644 --- a/command.c +++ b/command.c @@ -261,11 +261,11 @@ static int mp_property_stream_pos(m_option_t *prop, int action, void *arg, return M_PROPERTY_ERROR; switch (action) { case M_PROPERTY_GET: - *(off_t *) arg = stream_tell(stream); + *(int64_t *) arg = stream_tell(stream); return M_PROPERTY_OK; case M_PROPERTY_SET: - M_PROPERTY_CLAMP(prop, *(off_t *) arg); - stream_seek(stream, *(off_t *) arg); + M_PROPERTY_CLAMP(prop, *(int64_t *) arg); + stream_seek(stream, *(int64_t *) arg); return M_PROPERTY_OK; } return M_PROPERTY_NOT_IMPLEMENTED; @@ -280,7 +280,7 @@ static int mp_property_stream_start(m_option_t *prop, int action, return M_PROPERTY_UNAVAILABLE; switch (action) { case M_PROPERTY_GET: - *(off_t *) arg = stream->start_pos; + *(int64_t *) arg = stream->start_pos; return M_PROPERTY_OK; } return M_PROPERTY_NOT_IMPLEMENTED; @@ -295,7 +295,7 @@ static int mp_property_stream_end(m_option_t *prop, int action, void *arg, return M_PROPERTY_UNAVAILABLE; switch (action) { case M_PROPERTY_GET: - *(off_t *) arg = stream->end_pos; + *(int64_t *) arg = stream->end_pos; return M_PROPERTY_OK; } return M_PROPERTY_NOT_IMPLEMENTED; @@ -310,7 +310,7 @@ static int mp_property_stream_length(m_option_t *prop, int action, return M_PROPERTY_UNAVAILABLE; switch (action) { case M_PROPERTY_GET: - *(off_t *) arg = stream->end_pos - stream->start_pos; + *(int64_t *) arg = stream->end_pos - stream->start_pos; return M_PROPERTY_OK; } return M_PROPERTY_NOT_IMPLEMENTED; @@ -1650,13 +1650,13 @@ static const m_option_t mp_properties[] = { 0, 0, 0, NULL }, { "demuxer", mp_property_demuxer, CONF_TYPE_STRING, 0, 0, 0, NULL }, - { "stream-pos", mp_property_stream_pos, CONF_TYPE_POSITION, + { "stream-pos", mp_property_stream_pos, CONF_TYPE_INT64, M_OPT_MIN, 0, 0, NULL }, - { "stream-start", mp_property_stream_start, CONF_TYPE_POSITION, + { "stream-start", mp_property_stream_start, CONF_TYPE_INT64, M_OPT_MIN, 0, 0, NULL }, - { "stream-end", mp_property_stream_end, CONF_TYPE_POSITION, + { "stream-end", mp_property_stream_end, CONF_TYPE_INT64, M_OPT_MIN, 0, 0, NULL }, - { "stream-length", mp_property_stream_length, CONF_TYPE_POSITION, + { "stream-length", mp_property_stream_length, CONF_TYPE_INT64, M_OPT_MIN, 0, 0, NULL }, { "stream-time-pos", mp_property_stream_time_pos, CONF_TYPE_TIME, M_OPT_MIN, 0, 0, NULL }, @@ -2118,7 +2118,7 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd) void *arg = NULL; int r, i; double d; - off_t o; + int64_t o; cmd->args[0].v.s = translate_legacy_property(cmd, cmd->args[0].v.s); if (cmd->args[1].v.f) { m_option_t *prop; @@ -2135,7 +2135,7 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd) else if (prop->type == CONF_TYPE_DOUBLE || prop->type == CONF_TYPE_TIME) d = cmd->args[1].v.f, arg = &d; - else if (prop->type == CONF_TYPE_POSITION) + else if (prop->type == CONF_TYPE_INT64) o = cmd->args[1].v.f, arg = &o; else mp_msg(MSGT_CPLAYER, MSGL_WARN, diff --git a/m_option.c b/m_option.c index 2f8daa42de..015b8f8e20 100644 --- a/m_option.c +++ b/m_option.c @@ -423,35 +423,6 @@ const m_option_type_t m_option_type_float = { .copy = copy_opt, }; -///////////// Position -#undef VAL -#define VAL(x) (*(off_t *)(x)) - -static int parse_position(const m_option_t *opt, struct bstr name, - struct bstr param, void *dst) -{ - long long tmp; - int r = parse_longlong(opt, name, param, &tmp); - if (r >= 0 && dst) - *(off_t *)dst = tmp; - return r; -} - -static char *print_position(const m_option_t *opt, const void *val) -{ - return talloc_asprintf(NULL, "%"PRId64, (int64_t)VAL(val)); -} - -const m_option_type_t m_option_type_position = { - // Integer (off_t) - .name = "Position", - .size = sizeof(off_t), - .parse = parse_position, - .print = print_position, - .copy = copy_opt, -}; - - ///////////// String #undef VAL diff --git a/m_option.h b/m_option.h index 57fdc33610..73752e7a56 100644 --- a/m_option.h +++ b/m_option.h @@ -43,7 +43,6 @@ extern const m_option_type_t m_option_type_float; extern const m_option_type_t m_option_type_double; extern const m_option_type_t m_option_type_string; extern const m_option_type_t m_option_type_string_list; -extern const m_option_type_t m_option_type_position; extern const m_option_type_t m_option_type_time; extern const m_option_type_t m_option_type_time_size; extern const m_option_type_t m_option_type_choice; @@ -167,7 +166,6 @@ struct m_sub_options { #define CONF_TYPE_PRINT_FUNC (&m_option_type_print_func) #define CONF_TYPE_SUBCONFIG (&m_option_type_subconfig) #define CONF_TYPE_STRING_LIST (&m_option_type_string_list) -#define CONF_TYPE_POSITION (&m_option_type_position) #define CONF_TYPE_IMGFMT (&m_option_type_imgfmt) #define CONF_TYPE_AFMT (&m_option_type_afmt) #define CONF_TYPE_SPAN (&m_option_type_span) diff --git a/mplayer.c b/mplayer.c index c90812e871..376b243d58 100644 --- a/mplayer.c +++ b/mplayer.c @@ -204,8 +204,8 @@ static const char av_desync_help_text[] = _( static int drop_frame_cnt; // total number of dropped frames // seek: -static off_t seek_to_byte; -static off_t step_sec; +static int64_t seek_to_byte; +static double step_sec; static m_time_size_t end_at = { .type = END_AT_NONE, .pos = 0 };