From e4cc7f23a20495fa8aa630b77e82735299a40740 Mon Sep 17 00:00:00 2001 From: Guido Cella Date: Sun, 8 Dec 2024 16:44:21 +0100 Subject: [PATCH] various: upgrade option flags to uint64_t MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit So that they will already work after more UPDATE flags are added. change_flags in m_config_core.h was already uint64_t. Co-authored-by: Kacper Michajłow --- options/m_config_frontend.c | 2 +- options/m_config_frontend.h | 2 +- options/m_option.h | 4 ++-- player/command.c | 5 ++--- player/command.h | 2 +- sub/dec_sub.c | 2 +- sub/sd_ass.c | 2 +- 7 files changed, 9 insertions(+), 10 deletions(-) diff --git a/options/m_config_frontend.c b/options/m_config_frontend.c index 99d936cfc4fd5..134afa2e8095c 100644 --- a/options/m_config_frontend.c +++ b/options/m_config_frontend.c @@ -383,7 +383,7 @@ const char *m_config_get_positional_option(const struct m_config *config, int p) static int handle_set_opt_flags(struct m_config *config, struct m_config_option *co, int flags) { - int optflags = co->opt->flags; + uint64_t optflags = co->opt->flags; bool set = !(flags & M_SETOPT_CHECK_ONLY); if ((flags & M_SETOPT_PRE_PARSE_ONLY) && !(optflags & M_OPT_PRE_PARSE)) diff --git a/options/m_config_frontend.h b/options/m_config_frontend.h index 10b27206348d8..a5f82837e81f8 100644 --- a/options/m_config_frontend.h +++ b/options/m_config_frontend.h @@ -87,7 +87,7 @@ typedef struct m_config { // m_config_notify_change_opt_ptr(). If false, it's caused either by // m_config_set_option_*() (and similar) calls or external updates. void (*option_change_callback)(void *ctx, struct m_config_option *co, - int flags, bool self_update); + uint64_t flags, bool self_update); void *option_change_callback_ctx; // For the command line parser diff --git a/options/m_option.h b/options/m_option.h index dc71f808f7c35..e11d844c93e8c 100644 --- a/options/m_option.h +++ b/options/m_option.h @@ -215,7 +215,7 @@ struct m_sub_options { const void *defaults; // Change flags passed to mp_option_change_callback() if any option that is // directly or indirectly part of this group is changed. - int change_flags; + uint64_t change_flags; // Return further sub-options, for example for optional components. If set, // this is called with increasing index (starting from 0), as long as true // is returned. If true is returned and *sub is set in any of these calls, @@ -385,7 +385,7 @@ struct m_option { const m_option_type_t *type; // See \ref OptionFlags. - unsigned int flags; + uint64_t flags; // Always force an option update even if the written value does not change. bool force_update; diff --git a/player/command.c b/player/command.c index 478970bdad199..a5db12fb6821f 100644 --- a/player/command.c +++ b/player/command.c @@ -7619,7 +7619,7 @@ static void update_track_switch(struct MPContext *mpctx, int order, int type) mp_wakeup_core(mpctx); } -void mp_option_change_callback(void *ctx, struct m_config_option *co, int flags, +void mp_option_change_callback(void *ctx, struct m_config_option *co, uint64_t flags, bool self_update) { struct MPContext *mpctx = ctx; @@ -7643,8 +7643,7 @@ void mp_option_change_callback(void *ctx, struct m_config_option *co, int flags, struct track *track = mpctx->current_track[n][STREAM_SUB]; struct dec_sub *sub = track ? track->d_sub : NULL; if (sub) { - int ret = sub_control(sub, SD_CTRL_UPDATE_OPTS, - (void *)(uintptr_t)flags); + int ret = sub_control(sub, SD_CTRL_UPDATE_OPTS, &flags); if (ret == CONTROL_OK && flags & (UPDATE_SUB_FILT | UPDATE_SUB_HARD)) { sub_redecode_cached_packets(sub); sub_reset(sub); diff --git a/player/command.h b/player/command.h index 48b4518553fda..b56bfb50db9d5 100644 --- a/player/command.h +++ b/player/command.h @@ -80,7 +80,7 @@ void property_print_help(struct MPContext *mpctx); int mp_property_do(const char* name, int action, void* val, struct MPContext *mpctx); -void mp_option_change_callback(void *ctx, struct m_config_option *co, int flags, +void mp_option_change_callback(void *ctx, struct m_config_option *co, uint64_t flags, bool self_update); void mp_notify(struct MPContext *mpctx, int event, void *arg); diff --git a/sub/dec_sub.c b/sub/dec_sub.c index ce51fdf8c8e25..fb8a84826e6ae 100644 --- a/sub/dec_sub.c +++ b/sub/dec_sub.c @@ -515,7 +515,7 @@ int sub_control(struct dec_sub *sub, enum sd_ctrl cmd, void *arg) break; } case SD_CTRL_UPDATE_OPTS: { - int flags = (uintptr_t)arg; + uint64_t flags = *(uint64_t *)arg; if (m_config_cache_update(sub->opts_cache)) update_subtitle_speed(sub); m_config_cache_update(sub->shared_opts_cache); diff --git a/sub/sd_ass.c b/sub/sd_ass.c index 4f9cd3eb48eeb..8d999933ca7f5 100644 --- a/sub/sd_ass.c +++ b/sub/sd_ass.c @@ -1020,7 +1020,7 @@ static int control(struct sd *sd, enum sd_ctrl cmd, void *arg) ctx->video_params = *(struct mp_image_params *)arg; return CONTROL_OK; case SD_CTRL_UPDATE_OPTS: { - int flags = (uintptr_t)arg; + uint64_t flags = *(uint64_t *)arg; if (flags & UPDATE_SUB_FILT) { filters_destroy(sd); filters_init(sd);