Skip to content

Commit

Permalink
player/client: reduce log level for hooks not sent to clients
Browse files Browse the repository at this point in the history
If a hook event can't be sent to a client because it no longer exists,
stop logging it as a warning, as there is no way for a client to remove
hooks, so it is expected that the hook can't be sent. This is documented
in libmpv/client.h.

If the hook event can't be sent for other reasons, like the event queue
being full (currently the only other possible reason), keep logging as
warning.

Also add the client and hook type to the message. They are also logged
just above, but only in verbose mode, so when only the warning is logged
you didn't see the client before.

auto_profiles.lua logs these warning since 5dc4047, and this commit
fixes that.

Fixes mpv-player#15244.
  • Loading branch information
guidocella authored and avih committed Nov 3, 2024
1 parent 2211673 commit a61518d
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion player/command.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,9 @@ static int invoke_hook_handler(struct MPContext *mpctx, struct hook_handler *h)
char *name = mp_tprintf(22, "@%"PRIi64, h->client_id);
int r = mp_client_send_event(mpctx, name, reply_id, MPV_EVENT_HOOK, m);
if (r < 0) {
MP_WARN(mpctx, "Sending hook command failed. Removing hook.\n");
MP_MSG(mpctx, mp_client_id_exists(mpctx, h->client_id) ? MSGL_WARN : MSGL_V,
"Failed sending hook command %s/%s. Removing hook.\n", h->client,
h->type);
hook_remove(mpctx, h);
mp_wakeup_core(mpctx); // repeat next iteration to finish
}
Expand Down

0 comments on commit a61518d

Please sign in to comment.