[vlc-commits] cli: separate client and interface structures
Rémi Denis-Courmont
git at videolan.org
Sun Nov 29 14:55:50 CET 2020
vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat Nov 28 20:49:50 2020 +0200| [83bdc9cc1b45fdb7c07ad85ba3cfbdb25224f2ef] | committer: Rémi Denis-Courmont
cli: separate client and interface structures
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=83bdc9cc1b45fdb7c07ad85ba3cfbdb25224f2ef
---
modules/control/cli/cli.c | 60 +++++++---
modules/control/cli/cli.h | 12 +-
modules/control/cli/player.c | 263 ++++++++++++++++++++---------------------
modules/control/cli/playlist.c | 92 +++++++-------
4 files changed, 226 insertions(+), 201 deletions(-)
diff --git a/modules/control/cli/cli.c b/modules/control/cli/cli.c
index 5fc50229e6..8bbcc30807 100644
--- a/modules/control/cli/cli.c
+++ b/modules/control/cli/cli.c
@@ -115,6 +115,16 @@ void msg_print(intf_thread_t *intf, const char *fmt, ...)
va_end(ap);
}
+int cli_printf(struct cli_client *cl, const char *fmt, ...)
+{
+ va_list ap;
+
+ va_start(ap, fmt);
+ msg_vprint(cl->intf, fmt, ap);
+ va_end(ap);
+ return VLC_SUCCESS;
+}
+
struct command {
union {
const char *name;
@@ -156,11 +166,7 @@ void RegisterHandlers(intf_thread_t *intf, const struct cli_handler *handlers,
}
}
-#if defined (_WIN32) && !VLC_WINSTORE_APP
-# include "../intromsg.h"
-#endif
-
-static int Help(intf_thread_t *p_intf, const char *const *args, size_t count,
+static int Help(struct cli_client *cl, const char *const *args, size_t count,
void *data)
{
msg_rc("%s", _("+----[ Remote control commands ]"));
@@ -225,23 +231,30 @@ static int Help(intf_thread_t *p_intf, const char *const *args, size_t count,
return 0;
}
-static int Intf(intf_thread_t *intf, const char *const *args, size_t count,
+static int Intf(struct cli_client *cl, const char *const *args, size_t count,
void *data)
{
+ intf_thread_t *intf = data;
+
+ (void) cl;
+
return intf_Create(vlc_object_instance(intf), count == 1 ? "" : args[1]);
}
-static int Quit(intf_thread_t *intf, const char *const *args, size_t count,
+static int Quit(struct cli_client *cl, const char *const *args, size_t count,
void *data)
{
+ intf_thread_t *intf = data;
+
libvlc_Quit(vlc_object_instance(intf));
- (void) args; (void) count;
+ (void) cl; (void) args; (void) count;
return 0;
}
-static int LogOut(intf_thread_t *intf, const char *const *args, size_t count,
+static int LogOut(struct cli_client *cl, const char *const *args, size_t count,
void *data)
{
+ intf_thread_t *intf = data;
intf_sys_t *sys = intf->p_sys;
/* Close connection */
@@ -278,15 +291,17 @@ static int LogOut(intf_thread_t *intf, const char *const *args, size_t count,
return 0;
}
-static int KeyAction(intf_thread_t *intf, const char *const *args, size_t n,
+static int KeyAction(struct cli_client *cl, const char *const *args, size_t n,
void *data)
{
+ intf_thread_t *intf = data;
vlc_object_t *vlc = VLC_OBJECT(vlc_object_instance(intf));
if (n != 2)
return VLC_EGENERIC; /* EINVAL */
var_SetInteger(vlc, "key-action", vlc_actions_get_id(args[1]));
+ (void) cl;
return 0;
}
@@ -305,7 +320,7 @@ static const struct cli_handler cmds[] =
{ "hotkey", KeyAction },
};
-static int Process(intf_thread_t *intf, const char *line)
+static int Process(intf_thread_t *intf, struct cli_client *cl, const char *line)
{
intf_sys_t *sys = intf->p_sys;
/* Skip heading spaces */
@@ -329,7 +344,7 @@ error: wordfree(&we);
else
ret = VLC_EGENERIC;
- msg_print(intf, N_("parse error"));
+ cli_printf(cl, N_("parse error"));
return ret;
}
@@ -368,12 +383,11 @@ error: wordfree(&we);
{
const struct command *c = *pp;;
- ret = c->handler.callback(intf, args, count, c->data);
+ ret = c->handler.callback(cl, args, count, c->data);
}
else
{
- msg_print(intf,
- _("Unknown command `%s'. Type `help' for help."),
+ cli_printf(cl, _("Unknown command `%s'. Type `help' for help."),
args[0]);
ret = VLC_EGENERIC;
}
@@ -395,6 +409,7 @@ static void *Run(void *data)
for (;;)
{
char buf[MAX_LINE_LENGTH + 1];
+ struct cli_client cl = { intf };
while (sys->stream == NULL)
{
@@ -425,13 +440,13 @@ static void *Run(void *data)
int canc = vlc_savecancel();
if (cmd[0] != '\0')
cmd[strlen(cmd) - 1] = '\0'; /* remove trailing LF */
- Process(intf, cmd);
+ Process(intf, &cl, cmd);
vlc_restorecancel(canc);
}
else if (sys->pi_socket_listen == NULL)
break;
else
- LogOut(intf, NULL, 0, intf);
+ LogOut(&cl, NULL, 0, intf);
}
int canc = vlc_savecancel();
@@ -625,7 +640,9 @@ static void *Run( void *data )
/* Is there something to do? */
if( !b_complete ) continue;
- Process(p_intf, p_buffer);
+ struct cli_client cl = { p_intf };
+
+ Process(p_intf, &cl, p_buffer);
/* Command processed */
i_size = 0; p_buffer[0] = 0;
@@ -633,6 +650,10 @@ static void *Run( void *data )
vlc_assert_unreachable();
}
+
+#undef msg_rc
+#define msg_rc(...) msg_print(p_intf, __VA_ARGS__)
+#include "../intromsg.h"
#endif
/*****************************************************************************
@@ -810,7 +831,8 @@ static int Activate( vlc_object_t *p_this )
if( vlc_clone( &p_sys->thread, Run, p_intf, VLC_THREAD_PRIORITY_LOW ) )
goto error;
- msg_rc( "%s", _("Remote control interface initialized. Type `help' for help.") );
+ msg_print(p_intf, "%s",
+ _("Remote control interface initialized. Type `help' for help."));
return VLC_SUCCESS;
diff --git a/modules/control/cli/cli.h b/modules/control/cli/cli.h
index 326cb74313..69ac092b8f 100644
--- a/modules/control/cli/cli.h
+++ b/modules/control/cli/cli.h
@@ -24,6 +24,11 @@
#include <stdio.h>
#include <vlc_common.h>
+struct cli_client
+{
+ intf_thread_t *intf;
+};
+
struct intf_sys_t
{
vlc_thread_t thread;
@@ -43,13 +48,16 @@ struct intf_sys_t
int *pi_socket_listen;
};
+VLC_FORMAT(2, 3)
+int cli_printf(struct cli_client *cl, const char *fmt, ...);
+
VLC_FORMAT(2, 3)
void msg_print(intf_thread_t *p_intf, const char *psz_fmt, ...);
-#define msg_rc(...) msg_print(p_intf, __VA_ARGS__)
+#define msg_rc(...) cli_printf(cl, __VA_ARGS__)
#define STATUS_CHANGE "status change: "
-typedef int (*cli_callback)(intf_thread_t *, const char *const *, size_t,
+typedef int (*cli_callback)(struct cli_client *, const char *const *, size_t,
void *);
struct cli_handler
diff --git a/modules/control/cli/player.c b/modules/control/cli/player.c
index 113465fa41..177403e7c0 100644
--- a/modules/control/cli/player.c
+++ b/modules/control/cli/player.c
@@ -54,14 +54,13 @@ static void
player_on_media_changed(vlc_player_t *player, input_item_t *item, void *data)
{
struct player_cli *pc = data;
- intf_thread_t *p_intf = pc->intf;
(void) player;
if (item != NULL)
{
vlc_mutex_lock(&item->lock);
- msg_rc(STATUS_CHANGE "( new input: %s )", item->psz_uri);
+ msg_print(pc->intf, STATUS_CHANGE "( new input: %s )", item->psz_uri);
vlc_mutex_unlock(&item->lock);
}
}
@@ -71,7 +70,6 @@ player_on_state_changed(vlc_player_t *player,
enum vlc_player_state state, void *data)
{ VLC_UNUSED(player);
struct player_cli *pc = data;
- intf_thread_t *p_intf = pc->intf;
char const *psz_cmd;
switch (state)
@@ -91,7 +89,7 @@ player_on_state_changed(vlc_player_t *player,
break;
}
- msg_rc(STATUS_CHANGE "( %s state: %d )", psz_cmd, state);
+ msg_print(pc->intf, STATUS_CHANGE "( %s state: %d )", psz_cmd, state);
}
static void
@@ -107,9 +105,8 @@ static void
player_on_rate_changed(vlc_player_t *player, float new_rate, void *data)
{ VLC_UNUSED(player);
struct player_cli *pc = data;
- intf_thread_t *p_intf = pc->intf;
- msg_rc(STATUS_CHANGE "( new rate: %.3f )", new_rate);
+ msg_print(pc->intf, STATUS_CHANGE "( new rate: %.3f )", new_rate);
}
static void
@@ -117,12 +114,11 @@ player_on_position_changed(vlc_player_t *player,
vlc_tick_t new_time, float new_pos, void *data)
{ VLC_UNUSED(player); VLC_UNUSED(new_pos);
struct player_cli *pc = data;
- intf_thread_t *p_intf = pc->intf;
if (pc->input_buffering)
{
- msg_rc(STATUS_CHANGE "( time: %"PRId64"s )",
- SEC_FROM_VLC_TICK(new_time));
+ msg_print(pc->intf, STATUS_CHANGE "( time: %"PRId64"s )",
+ SEC_FROM_VLC_TICK(new_time));
pc->input_buffering = false;
}
@@ -131,7 +127,7 @@ player_on_position_changed(vlc_player_t *player,
if (pc->show_position && position != pc->position)
{
pc->position = position;
- msg_rc("pos: %ld%%", pc->position);
+ msg_print(pc->intf, "pos: %ld%%", pc->position);
}
}
@@ -148,9 +144,8 @@ static void
player_aout_on_volume_changed(audio_output_t *aout, float volume, void *data)
{ VLC_UNUSED(aout);
struct player_cli *pc = data;
- intf_thread_t *p_intf = pc->intf;
- msg_rc(STATUS_CHANGE "( audio volume: %f )", volume);
+ msg_print(pc->intf, STATUS_CHANGE "( audio volume: %f )", volume);
}
static const struct vlc_player_aout_cbs player_aout_cbs =
@@ -158,7 +153,7 @@ static const struct vlc_player_aout_cbs player_aout_cbs =
.on_volume_changed = player_aout_on_volume_changed,
};
-static int PlayerDoVoid(intf_thread_t *intf, void *data,
+static int PlayerDoVoid(struct cli_client *cl, void *data,
void (*cb)(vlc_player_t *))
{
vlc_player_t *player = data;
@@ -166,11 +161,11 @@ static int PlayerDoVoid(intf_thread_t *intf, void *data,
vlc_player_Lock(player);
cb(player);
vlc_player_Unlock(player);
- (void) intf;
+ (void) cl;
return 0;
}
-static int PlayerDoFloat(intf_thread_t *intf, const char *const *args,
+static int PlayerDoFloat(struct cli_client *cl, const char *const *args,
size_t count, void *data,
void (*setter)(vlc_player_t *, float),
float (*getter)(vlc_player_t *))
@@ -182,7 +177,7 @@ static int PlayerDoFloat(intf_thread_t *intf, const char *const *args,
switch (count)
{
case 1:
- msg_print(intf, "%f", getter(player));
+ cli_printf(cl, "%f", getter(player));
break;
case 2:
setter(player, atof(args[1]));
@@ -194,14 +189,14 @@ static int PlayerDoFloat(intf_thread_t *intf, const char *const *args,
return ret;
}
-static int PlayerPause(intf_thread_t *intf, const char *const *args,
+static int PlayerPause(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlayerDoVoid(intf, data, vlc_player_TogglePause);
+ return PlayerDoVoid(cl, data, vlc_player_TogglePause);
}
-static int PlayerFastForward(intf_thread_t *intf, const char *const *args,
+static int PlayerFastForward(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -215,7 +210,7 @@ static int PlayerFastForward(intf_thread_t *intf, const char *const *args,
}
else
{
- int secs = var_InheritInteger(intf, "extrashort-jump-size");
+ int secs = var_InheritInteger(cl->intf, "extrashort-jump-size");
vlc_tick_t t = vlc_player_GetTime(player) + vlc_tick_from_sec(secs);
vlc_player_SetTime(player, t);
@@ -225,7 +220,7 @@ static int PlayerFastForward(intf_thread_t *intf, const char *const *args,
return 0;
}
-static int PlayerRewind(intf_thread_t *intf, const char *const *args,
+static int PlayerRewind(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -238,7 +233,7 @@ static int PlayerRewind(intf_thread_t *intf, const char *const *args,
}
else
{
- int secs = var_InheritInteger(intf, "extrashort-jump-size");
+ int secs = var_InheritInteger(cl->intf, "extrashort-jump-size");
vlc_tick_t t = vlc_player_GetTime(player) - vlc_tick_from_sec(secs);
vlc_player_SetTime(player, t);
@@ -248,18 +243,18 @@ static int PlayerRewind(intf_thread_t *intf, const char *const *args,
return 0;
}
-static int PlayerFaster(intf_thread_t *intf, const char *const *args,
+static int PlayerFaster(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlayerDoVoid(intf, data, vlc_player_IncrementRate);
+ return PlayerDoVoid(cl, data, vlc_player_IncrementRate);
}
-static int PlayerSlower(intf_thread_t *intf, const char *const *args,
+static int PlayerSlower(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlayerDoVoid(intf, data, vlc_player_DecrementRate);
+ return PlayerDoVoid(cl, data, vlc_player_DecrementRate);
}
static void PlayerDoNormal(vlc_player_t *player)
@@ -267,63 +262,63 @@ static void PlayerDoNormal(vlc_player_t *player)
vlc_player_ChangeRate(player, 1.f);
}
-static int PlayerNormal(intf_thread_t *intf, const char *const *args,
+static int PlayerNormal(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlayerDoVoid(intf, data, PlayerDoNormal);
+ return PlayerDoVoid(cl, data, PlayerDoNormal);
}
-static int PlayerRate(intf_thread_t *intf, const char *const *args, size_t n,
+static int PlayerRate(struct cli_client *cl, const char *const *args, size_t n,
void *data)
{
- return PlayerDoFloat(intf, args, n, data, vlc_player_ChangeRate,
+ return PlayerDoFloat(cl, args, n, data, vlc_player_ChangeRate,
vlc_player_GetRate);
}
-static int PlayerFrame(intf_thread_t *intf, const char *const *args,
+static int PlayerFrame(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlayerDoVoid(intf, data, vlc_player_NextVideoFrame);
+ return PlayerDoVoid(cl, data, vlc_player_NextVideoFrame);
}
-static int PlayerChapterPrev(intf_thread_t *intf, const char *const *args,
+static int PlayerChapterPrev(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlayerDoVoid(intf, data, vlc_player_SelectPrevChapter);
+ return PlayerDoVoid(cl, data, vlc_player_SelectPrevChapter);
}
-static int PlayerChapterNext(intf_thread_t *intf, const char *const *args,
+static int PlayerChapterNext(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlayerDoVoid(intf, data, vlc_player_SelectNextChapter);
+ return PlayerDoVoid(cl, data, vlc_player_SelectNextChapter);
}
-static int PlayerTitlePrev(intf_thread_t *intf, const char *const *args,
+static int PlayerTitlePrev(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlayerDoVoid(intf, data, vlc_player_SelectPrevTitle);
+ return PlayerDoVoid(cl, data, vlc_player_SelectPrevTitle);
}
-static int PlayerTitleNext(intf_thread_t *intf, const char *const *args,
+static int PlayerTitleNext(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlayerDoVoid(intf, data, vlc_player_SelectNextTitle);
+ return PlayerDoVoid(cl, data, vlc_player_SelectNextTitle);
}
-static int PlayerSeek(intf_thread_t *intf, const char *const *args,
+static int PlayerSeek(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
if (count != 2)
{
- msg_print(intf, "%s expects one parameter", args[0]);
+ cli_printf(cl, "%s expects one parameter", args[0]);
return VLC_EGENERIC; /* EINVAL */
}
@@ -349,7 +344,7 @@ static int PlayerSeek(intf_thread_t *intf, const char *const *args,
return 0;
}
-static int PlayerSetChapter(intf_thread_t *intf, const char *const *args,
+static int PlayerSetChapter(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -366,11 +361,11 @@ static int PlayerSetChapter(intf_thread_t *intf, const char *const *args,
if (title != NULL)
chapter = vlc_player_GetSelectedChapterIdx(player);
if (chapter != -1)
- msg_print(intf, "Currently playing chapter %zd/%zu.",
- chapter, title->chapter_count);
+ cli_printf(cl, "Currently playing chapter %zd/%zu.",
+ chapter, title->chapter_count);
else
{
- msg_print(intf, "No chapter selected.");
+ cli_printf(cl, "No chapter selected.");
ret = VLC_ENOITEM;
}
}
@@ -378,7 +373,7 @@ static int PlayerSetChapter(intf_thread_t *intf, const char *const *args,
return ret;
}
-static int PlayerSetTitle(intf_thread_t *intf, const char *const *args,
+static int PlayerSetTitle(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -401,11 +396,11 @@ static int PlayerSetTitle(intf_thread_t *intf, const char *const *args,
if (titles != NULL)
title_count = vlc_player_title_list_GetCount(titles);
if (title != -1 && title_count != 0)
- msg_print(intf, "Currently playing title %zd/%zu.", title,
- title_count);
+ cli_printf(cl, "Currently playing title %zd/%zu.", title,
+ title_count);
else
{
- msg_print(intf, "No title selected.");
+ cli_printf(cl, "No title selected.");
ret = VLC_ENOITEM;
}
}
@@ -413,7 +408,7 @@ static int PlayerSetTitle(intf_thread_t *intf, const char *const *args,
return ret;
}
-static int PlayerSetTrack(intf_thread_t *intf, const char *const *args,
+static int PlayerSetTrack(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -460,15 +455,15 @@ static int PlayerSetTrack(intf_thread_t *intf, const char *const *args,
char const *name = cur_track ? cur_track->name : psz_cmd;
size_t track_count = vlc_player_GetTrackCount(player, cat);
- msg_print(intf, "+----[ %s ]", name);
+ cli_printf(cl, "+----[ %s ]", name);
for (size_t i = 0; i < track_count; ++i)
{
struct vlc_player_track const *track =
vlc_player_GetTrackAt(player, cat, i);
- msg_print(intf, "| %zu - %s%s",
- i, track->name, track == cur_track ? " *" : "");
+ cli_printf(cl, "| %zu - %s%s",
+ i, track->name, track == cur_track ? " *" : "");
}
- msg_print(intf, "+----[ end of %s ]", name);
+ cli_printf(cl, "+----[ end of %s ]", name);
ret = 0;
}
out:
@@ -476,7 +471,7 @@ out:
return ret;
}
-static int PlayerRecord(intf_thread_t *intf, const char *const *args,
+static int PlayerRecord(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -497,11 +492,11 @@ static int PlayerRecord(intf_thread_t *intf, const char *const *args,
if (cur_value != new_value)
vlc_player_SetRecordingEnabled(player, new_value);
vlc_player_Unlock(player);
- (void) intf;
+ (void) cl;
return 0;
}
-static int PlayerItemInfo(intf_thread_t *intf, const char *const *args,
+static int PlayerItemInfo(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -518,24 +513,24 @@ static int PlayerItemInfo(intf_thread_t *intf, const char *const *args,
info_category_t *category = item->pp_categories[i];
info_t *info;
- msg_print(intf, "+----[ %s ]", category->psz_name);
- msg_print(intf, "| ");
+ cli_printf(cl, "+----[ %s ]", category->psz_name);
+ cli_printf(cl, "| ");
info_foreach(info, &category->infos)
- msg_print(intf, "| %s: %s", info->psz_name,
- info->psz_value);
- msg_print(intf, "| ");
+ cli_printf(cl, "| %s: %s", info->psz_name,
+ info->psz_value);
+ cli_printf(cl, "| ");
}
- msg_print(intf, "+----[ end of stream info ]");
+ cli_printf(cl, "+----[ end of stream info ]");
vlc_mutex_unlock(&item->lock);
}
else
- msg_print(intf, "no input");
+ cli_printf(cl, "no input");
vlc_player_Unlock(player);
(void) args; (void) count;
return (item != NULL) ? 0 : VLC_ENOITEM;
}
-static int PlayerGetTime(intf_thread_t *intf, const char *const *args,
+static int PlayerGetTime(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -547,12 +542,12 @@ static int PlayerGetTime(intf_thread_t *intf, const char *const *args,
if (t == VLC_TICK_INVALID)
return VLC_ENOITEM;
- msg_print(intf, "%"PRIu64, SEC_FROM_VLC_TICK(t));
+ cli_printf(cl, "%"PRIu64, SEC_FROM_VLC_TICK(t));
(void) args; (void) count;
return 0;
}
-static int PlayerGetLength(intf_thread_t *intf, const char *const *args,
+static int PlayerGetLength(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -565,12 +560,12 @@ static int PlayerGetLength(intf_thread_t *intf, const char *const *args,
if (l == VLC_TICK_INVALID)
return VLC_ENOITEM;
- msg_print(intf, "%"PRIu64, SEC_FROM_VLC_TICK(l));
+ cli_printf(cl, "%"PRIu64, SEC_FROM_VLC_TICK(l));
(void) args; (void) count;
return 0;
}
-static int PlayerGetTitle(intf_thread_t *intf, const char *const *args,
+static int PlayerGetTitle(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -578,20 +573,20 @@ static int PlayerGetTitle(intf_thread_t *intf, const char *const *args,
vlc_player_Lock(player);
title = vlc_player_GetSelectedTitle(player);
- msg_print(intf, "%s", (title != NULL) ? title->name : "");
+ cli_printf(cl, "%s", (title != NULL) ? title->name : "");
vlc_player_Unlock(player);
(void) args; (void) count;
return (title != NULL) ? 0 : VLC_ENOITEM;
}
-static int PlayerVoutSnapshot(intf_thread_t *intf, const char *const *args,
+static int PlayerVoutSnapshot(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlayerDoVoid(intf, data, vlc_player_vout_Snapshot);
+ return PlayerDoVoid(cl, data, vlc_player_vout_Snapshot);
}
-static int PlayerFullscreen(intf_thread_t *intf, const char *const *args,
+static int PlayerFullscreen(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -606,11 +601,11 @@ static int PlayerFullscreen(intf_thread_t *intf, const char *const *args,
}
vlc_player_vout_SetFullscreen(player, fs);
- (void) intf;
+ (void) cl;
return 0;
}
-static int Volume(intf_thread_t *intf, const char *const *args, size_t count,
+static int Volume(struct cli_client *cl, const char *const *args, size_t count,
void *data)
{
vlc_player_t *player = data;
@@ -638,13 +633,13 @@ static int Volume(intf_thread_t *intf, const char *const *args, size_t count,
vlc_player_aout_SetVolume(player, volume);
}
else
- msg_print(intf, STATUS_CHANGE "( audio volume: %f )",
- vlc_player_aout_GetVolume(player));
+ cli_printf(cl, STATUS_CHANGE "( audio volume: %f )",
+ vlc_player_aout_GetVolume(player));
vlc_player_Unlock(player);
return 0;
}
-static int VolumeMove(intf_thread_t *intf, const char *const *args,
+static int VolumeMove(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -660,11 +655,11 @@ static int VolumeMove(intf_thread_t *intf, const char *const *args,
vlc_player_Lock(player);
vlc_player_aout_IncrementVolume(player, i_nb_steps, &volume);
vlc_player_Unlock(player);
- (void) intf;
+ (void) cl;
return 0;
}
-static int VideoConfig(intf_thread_t *intf, const char *const *args,
+static int VideoConfig(struct cli_client *cl, const char *const *args,
size_t n_args, void *data)
{
vlc_player_t *player = data;
@@ -728,7 +723,7 @@ static int VideoConfig(intf_thread_t *intf, const char *const *args,
var_Change( p_vout, psz_variable, VLC_VAR_GETTEXT, &name );
if( !name ) name = strdup(psz_variable);
- msg_print(intf, "+----[ %s ]", name);
+ cli_printf(cl, "+----[ %s ]", name);
if( !strcmp( psz_variable, "zoom" ) )
{
for ( size_t i = 0; i < count; i++ )
@@ -738,7 +733,7 @@ static int VideoConfig(intf_thread_t *intf, const char *const *args,
if (f_value == val[i].f_float)
fmt = "| %f - %s*";
- msg_print(intf, fmt, val[i].f_float, text[i]);
+ cli_printf(cl, fmt, val[i].f_float, text[i]);
free(text[i]);
}
}
@@ -751,7 +746,7 @@ static int VideoConfig(intf_thread_t *intf, const char *const *args,
if (strcmp(psz_value, val[i].psz_string) == 0)
fmt = "| %s - %s*";
- msg_print(intf, fmt, val[i].psz_string, text[i]);
+ cli_printf(cl, fmt, val[i].psz_string, text[i]);
free(text[i]);
free(val[i].psz_string);
}
@@ -759,7 +754,7 @@ static int VideoConfig(intf_thread_t *intf, const char *const *args,
}
free(text);
free(val);
- msg_print(intf, "+----[ end of %s ]", name);
+ cli_printf(cl, "+----[ end of %s ]", name);
free( name );
}
@@ -767,7 +762,7 @@ static int VideoConfig(intf_thread_t *intf, const char *const *args,
return 0;
}
-static int AudioDevice(intf_thread_t *intf, const char *const *args,
+static int AudioDevice(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
const char *cmd = args[0];
@@ -808,18 +803,18 @@ static int AudioDevice(intf_thread_t *intf, const char *const *args,
char *dev = aout_DeviceGet(aout);
const char *devstr = (dev != NULL) ? dev : "";
- msg_print(intf, "+----[ %s ]", cmd);
+ cli_printf(cl, "+----[ %s ]", cmd);
for ( int i = 0; i < n; i++ )
{
const char *fmt = "| %s - %s";
if( !strcmp(devstr, ids[i]) )
fmt = "| %s - %s *";
- msg_print(intf, fmt, ids[i], names[i]);
+ cli_printf(cl, fmt, ids[i], names[i]);
free( names[i] );
free( ids[i] );
}
- msg_print(intf, "+----[ end of %s ]", cmd);
+ cli_printf(cl, "+----[ end of %s ]", cmd);
free( dev );
}
@@ -831,7 +826,7 @@ out:
return ret;
}
-static int AudioChannel(intf_thread_t *intf, const char *const *args,
+static int AudioChannel(struct cli_client *cl, const char *const *args,
size_t n_args, void *data)
{
const char *cmd = args[0];
@@ -859,7 +854,7 @@ static int AudioChannel(intf_thread_t *intf, const char *const *args,
int i_value = var_GetInteger( p_aout, "stereo-mode" );
- msg_print(intf, "+----[ %s ]", cmd);
+ cli_printf(cl, "+----[ %s ]", cmd);
for ( size_t i = 0; i < count; i++ )
{
const char *fmt = "| %"PRId64" - %s";
@@ -867,12 +862,12 @@ static int AudioChannel(intf_thread_t *intf, const char *const *args,
if (i_value == val[i].i_int)
fmt = "| %"PRId64" - %s*";
- msg_print(intf, fmt, val[i].i_int, text[i]);
+ cli_printf(cl, fmt, val[i].i_int, text[i]);
free(text[i]);
}
free(text);
free(val);
- msg_print(intf, "+----[ end of %s ]", cmd);
+ cli_printf(cl, "+----[ end of %s ]", cmd);
}
else
var_SetInteger(p_aout, "stereo-mode", atoi(arg));
@@ -881,7 +876,7 @@ out:
return ret;
}
-static int Statistics(intf_thread_t *intf, const char *const *args,
+static int Statistics(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -892,56 +887,56 @@ static int Statistics(intf_thread_t *intf, const char *const *args,
if (item != NULL)
{
- msg_print(intf, "+----[ begin of statistical info ]");
+ cli_printf(cl, "+----[ begin of statistical info ]");
vlc_mutex_lock(&item->lock);
/* Input */
- msg_print(intf, _("+-[Incoming]"));
- msg_print(intf, _("| input bytes read : %8.0f KiB"),
- (float)(item->p_stats->i_read_bytes) / 1024.f);
- msg_print(intf, _("| input bitrate : %6.0f kb/s"),
- (float)(item->p_stats->f_input_bitrate) * 8000.f);
- msg_print(intf, _("| demux bytes read : %8.0f KiB"),
- (float)(item->p_stats->i_demux_read_bytes) / 1024.f);
- msg_print(intf, _("| demux bitrate : %6.0f kb/s"),
- (float)(item->p_stats->f_demux_bitrate) * 8000.f);
- msg_print(intf, _("| demux corrupted : %5"PRIi64),
- item->p_stats->i_demux_corrupted);
- msg_print(intf, _("| discontinuities : %5"PRIi64),
+ cli_printf(cl, _("+-[Incoming]"));
+ cli_printf(cl, _("| input bytes read : %8.0f KiB"),
+ (float)(item->p_stats->i_read_bytes) / 1024.f);
+ cli_printf(cl, _("| input bitrate : %6.0f kb/s"),
+ (float)(item->p_stats->f_input_bitrate) * 8000.f);
+ cli_printf(cl, _("| demux bytes read : %8.0f KiB"),
+ (float)(item->p_stats->i_demux_read_bytes) / 1024.f);
+ cli_printf(cl, _("| demux bitrate : %6.0f kb/s"),
+ (float)(item->p_stats->f_demux_bitrate) * 8000.f);
+ cli_printf(cl, _("| demux corrupted : %5"PRIi64),
+ item->p_stats->i_demux_corrupted);
+ cli_printf(cl, _("| discontinuities : %5"PRIi64),
item->p_stats->i_demux_discontinuity);
- msg_print(intf, "|");
+ cli_printf(cl, "|");
/* Video */
- msg_print(intf, _("+-[Video Decoding]"));
- msg_print(intf, _("| video decoded : %5"PRIi64),
- item->p_stats->i_decoded_video);
- msg_print(intf, _("| frames displayed : %5"PRIi64),
- item->p_stats->i_displayed_pictures);
- msg_print(intf, _("| frames late : %5"PRIi64),
- item->p_stats->i_late_pictures);
- msg_print(intf, _("| frames lost : %5"PRIi64),
- item->p_stats->i_lost_pictures);
- msg_print(intf, "|");
+ cli_printf(cl, _("+-[Video Decoding]"));
+ cli_printf(cl, _("| video decoded : %5"PRIi64),
+ item->p_stats->i_decoded_video);
+ cli_printf(cl, _("| frames displayed : %5"PRIi64),
+ item->p_stats->i_displayed_pictures);
+ cli_printf(cl, _("| frames late : %5"PRIi64),
+ item->p_stats->i_late_pictures);
+ cli_printf(cl, _("| frames lost : %5"PRIi64),
+ item->p_stats->i_lost_pictures);
+ cli_printf(cl, "|");
/* Audio*/
- msg_print(intf, "%s", _("+-[Audio Decoding]"));
- msg_print(intf, _("| audio decoded : %5"PRIi64),
- item->p_stats->i_decoded_audio);
- msg_print(intf, _("| buffers played : %5"PRIi64),
- item->p_stats->i_played_abuffers);
- msg_print(intf, _("| buffers lost : %5"PRIi64),
- item->p_stats->i_lost_abuffers);
- msg_print(intf, "|");
+ cli_printf(cl, "%s", _("+-[Audio Decoding]"));
+ cli_printf(cl, _("| audio decoded : %5"PRIi64),
+ item->p_stats->i_decoded_audio);
+ cli_printf(cl, _("| buffers played : %5"PRIi64),
+ item->p_stats->i_played_abuffers);
+ cli_printf(cl, _("| buffers lost : %5"PRIi64),
+ item->p_stats->i_lost_abuffers);
+ cli_printf(cl, "|");
vlc_mutex_unlock(&item->lock);
- msg_print(intf, "+----[ end of statistical info ]" );
+ cli_printf(cl, "+----[ end of statistical info ]" );
}
vlc_player_Unlock(player);
(void) args; (void) count;
return (item != NULL) ? 0 : VLC_ENOITEM;
}
-static int IsPlaying(intf_thread_t *intf, const char *const *args,
+static int IsPlaying(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -949,14 +944,14 @@ static int IsPlaying(intf_thread_t *intf, const char *const *args,
vlc_player_Lock(player);
state = vlc_player_GetState(player);
- msg_print(intf, "%d", state == VLC_PLAYER_STATE_PLAYING
- || state == VLC_PLAYER_STATE_PAUSED);
+ cli_printf(cl, "%d", state == VLC_PLAYER_STATE_PLAYING
+ || state == VLC_PLAYER_STATE_PAUSED);
vlc_player_Unlock(player);
(void) args; (void) count;
return 0;
}
-static int PlayerStatus(intf_thread_t *intf, const char *const *args,
+static int PlayerStatus(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_player_t *player = data;
@@ -969,14 +964,14 @@ static int PlayerStatus(intf_thread_t *intf, const char *const *args,
char *uri = input_item_GetURI(item);
if (likely(uri != NULL))
{
- msg_print(intf, STATUS_CHANGE "( new input: %s )", uri);
+ cli_printf(cl, STATUS_CHANGE "( new input: %s )", uri);
free(uri);
}
}
float volume = vlc_player_aout_GetVolume(player);
if (isgreaterequal(volume, 0.f))
- msg_print(intf, STATUS_CHANGE "( audio volume: %ld )",
+ cli_printf(cl, STATUS_CHANGE "( audio volume: %ld )",
lroundf(volume * 100.f));
enum vlc_player_state state = vlc_player_GetState(player);
@@ -1005,7 +1000,7 @@ static int PlayerStatus(intf_thread_t *intf, const char *const *args,
break;
}
- msg_print(intf, STATUS_CHANGE "( %s state: %u )", stname, stnum);
+ cli_printf(cl, STATUS_CHANGE "( %s state: %u )", stname, stnum);
(void) args; (void) count;
return 0;
}
diff --git a/modules/control/cli/playlist.c b/modules/control/cli/playlist.c
index 7db6b9ac5a..6386b2f389 100644
--- a/modules/control/cli/playlist.c
+++ b/modules/control/cli/playlist.c
@@ -139,7 +139,7 @@ static input_item_t *parse_MRL(const char *mrl)
}
#endif
-static void print_playlist(intf_thread_t *p_intf, vlc_playlist_t *playlist)
+static void print_playlist(struct cli_client *cl, vlc_playlist_t *playlist)
{
size_t count = vlc_playlist_Count(playlist);
size_t current = vlc_playlist_GetCurrentIndex(playlist);
@@ -155,14 +155,14 @@ static void print_playlist(intf_thread_t *p_intf, vlc_playlist_t *playlist)
{
char buf[MSTRTIME_MAX_SIZE];
secstotimestr(buf, SEC_FROM_VLC_TICK(len));
- msg_rc("| %c%zu %s (%s)", selected, i, item->psz_name, buf);
+ cli_printf(cl, "| %c%zu %s (%s)", selected, i, item->psz_name, buf);
}
else
- msg_rc("| %c%zu %s", selected, i, item->psz_name);
+ cli_printf(cl, "| %c%zu %s", selected, i, item->psz_name);
}
}
-static int PlaylistDoVoid(intf_thread_t *intf, void *data,
+static int PlaylistDoVoid(struct cli_client *cl, void *data,
int (*cb)(vlc_playlist_t *))
{
vlc_playlist_t *playlist = data;
@@ -171,29 +171,29 @@ static int PlaylistDoVoid(intf_thread_t *intf, void *data,
vlc_playlist_Lock(playlist);
ret = cb(playlist);
vlc_playlist_Unlock(playlist);
- (void) intf;
+ (void) cl;
return ret;
}
-static int PlaylistPrev(intf_thread_t *intf, const char *const *args,
+static int PlaylistPrev(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlaylistDoVoid(intf, data, vlc_playlist_Prev);
+ return PlaylistDoVoid(cl, data, vlc_playlist_Prev);
}
-static int PlaylistNext(intf_thread_t *intf, const char *const *args,
+static int PlaylistNext(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlaylistDoVoid(intf, data, vlc_playlist_Next);
+ return PlaylistDoVoid(cl, data, vlc_playlist_Next);
}
-static int PlaylistPlay(intf_thread_t *intf, const char *const *args,
+static int PlaylistPlay(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlaylistDoVoid(intf, data, vlc_playlist_Start);
+ return PlaylistDoVoid(cl, data, vlc_playlist_Start);
}
static int PlaylistDoStop(vlc_playlist_t *playlist)
@@ -202,11 +202,11 @@ static int PlaylistDoStop(vlc_playlist_t *playlist)
return 0;
}
-static int PlaylistStop(intf_thread_t *intf, const char *const *args,
+static int PlaylistStop(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlaylistDoVoid(intf, data, PlaylistDoStop);
+ return PlaylistDoVoid(cl, data, PlaylistDoStop);
}
static int PlaylistDoClear(vlc_playlist_t *playlist)
@@ -216,11 +216,11 @@ static int PlaylistDoClear(vlc_playlist_t *playlist)
return 0;
}
-static int PlaylistClear(intf_thread_t *intf, const char *const *args,
+static int PlaylistClear(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlaylistDoVoid(intf, data, PlaylistDoClear);
+ return PlaylistDoVoid(cl, data, PlaylistDoClear);
}
static int PlaylistDoSort(vlc_playlist_t *playlist)
@@ -234,28 +234,28 @@ static int PlaylistDoSort(vlc_playlist_t *playlist)
return vlc_playlist_Sort(playlist, &criteria, 1);
}
-static int PlaylistSort(intf_thread_t *intf, const char *const *args,
+static int PlaylistSort(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
(void) args; (void) count;
- return PlaylistDoVoid(intf, data, PlaylistDoSort);
+ return PlaylistDoVoid(cl, data, PlaylistDoSort);
}
-static int PlaylistList(intf_thread_t *intf, const char *const *args,
+static int PlaylistList(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_playlist_t *playlist = data;
- msg_print(intf, "+----[ Playlist ]");
+ cli_printf(cl, "+----[ Playlist ]");
vlc_playlist_Lock(playlist);
- print_playlist(intf, playlist);
+ print_playlist(cl, playlist);
vlc_playlist_Unlock(playlist);
- msg_print(intf, "+----[ End of playlist ]");
+ cli_printf(cl, "+----[ End of playlist ]");
(void) args; (void) count;
return 0;
}
-static int PlaylistRepeatCommon(intf_thread_t *intf, const char *const *args,
+static int PlaylistRepeatCommon(struct cli_client *cl, const char *const *args,
size_t count, void *data,
enum vlc_playlist_playback_repeat on_mode)
@@ -285,25 +285,25 @@ static int PlaylistRepeatCommon(intf_thread_t *intf, const char *const *args,
vlc_playlist_SetPlaybackRepeat(playlist, new_mode);
vlc_playlist_Unlock(playlist);
- (void) intf;
+ (void) cl;
return 0;
}
-static int PlaylistRepeat(intf_thread_t *intf, const char *const *args,
+static int PlaylistRepeat(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
- return PlaylistRepeatCommon(intf, args, count, data,
+ return PlaylistRepeatCommon(cl, args, count, data,
VLC_PLAYLIST_PLAYBACK_REPEAT_CURRENT);
}
-static int PlaylistLoop(intf_thread_t *intf, const char *const *args,
+static int PlaylistLoop(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
- return PlaylistRepeatCommon(intf, args, count, data,
+ return PlaylistRepeatCommon(cl, args, count, data,
VLC_PLAYLIST_PLAYBACK_REPEAT_ALL);
}
-static int PlaylistRandom(intf_thread_t *intf, const char *const *args,
+static int PlaylistRandom(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_playlist_t *playlist = data;
@@ -331,11 +331,11 @@ static int PlaylistRandom(intf_thread_t *intf, const char *const *args,
vlc_playlist_SetPlaybackOrder(playlist, new_mode);
vlc_playlist_Unlock(playlist);
- (void) intf;
+ (void) cl;
return 0;
}
-static int PlaylistGoto(intf_thread_t *intf, const char *const *args,
+static int PlaylistGoto(struct cli_client *cl, const char *const *args,
size_t n_args, void *data)
{
vlc_playlist_t *playlist = data;
@@ -348,17 +348,17 @@ static int PlaylistGoto(intf_thread_t *intf, const char *const *args,
if (ret) {
size_t count = vlc_playlist_Count(playlist);
- msg_print(intf,
- vlc_ngettext("Playlist has only %zu element",
- "Playlist has only %zu elements", count),
- count);
+ cli_printf(cl,
+ vlc_ngettext("Playlist has only %zu element",
+ "Playlist has only %zu elements", count),
+ count);
}
vlc_playlist_Unlock(playlist);
return ret;
}
-static int PlaylistAddCommon(intf_thread_t *intf, const char *const *args,
+static int PlaylistAddCommon(struct cli_client *cl, const char *const *args,
size_t n_args, void *data, bool play)
{
vlc_playlist_t *playlist = data;
@@ -421,7 +421,7 @@ static int PlaylistAddCommon(intf_thread_t *intf, const char *const *args,
input_item_Release(item);
}
- (void) intf;
+ (void) cl;
#else
const char *arg = n_args > 1 ? args[1] : "";
@@ -429,8 +429,8 @@ static int PlaylistAddCommon(intf_thread_t *intf, const char *const *args,
if (item != NULL)
{
- msg_print(intf, "Trying to %s %s to playlist.",
- play ? "add" : "enqueue", arg);
+ cli_printf(cl, "Trying to %s %s to playlist.",
+ play ? "add" : "enqueue", arg);
if (vlc_playlist_InsertOne(playlist, count, item) == VLC_SUCCESS
&& play)
@@ -443,19 +443,19 @@ static int PlaylistAddCommon(intf_thread_t *intf, const char *const *args,
return ret;
}
-static int PlaylistAdd(intf_thread_t *intf, const char *const *args,
+static int PlaylistAdd(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
- return PlaylistAddCommon(intf, args, count, data, true);
+ return PlaylistAddCommon(cl, args, count, data, true);
}
-static int PlaylistEnqueue(intf_thread_t *intf, const char *const *args,
+static int PlaylistEnqueue(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
- return PlaylistAddCommon(intf, args, count, data, false);
+ return PlaylistAddCommon(cl, args, count, data, false);
}
-static int PlaylistMove(intf_thread_t *intf, const char *const *args,
+static int PlaylistMove(struct cli_client *cl, const char *const *args,
size_t count, void *data)
{
vlc_playlist_t *playlist = data;
@@ -463,7 +463,7 @@ static int PlaylistMove(intf_thread_t *intf, const char *const *args,
if (count != 3)
{
- msg_print(intf, "%s expects two parameters", args[0]);
+ cli_printf(cl, "%s expects two parameters", args[0]);
return VLC_EGENERIC /*EINVAL*/;
}
@@ -480,8 +480,8 @@ static int PlaylistMove(intf_thread_t *intf, const char *const *args,
}
else
{
- msg_print(intf, vlc_ngettext("Playlist has only %zu element",
- "Playlist has only %zu elements", size),
+ cli_printf(cl, vlc_ngettext("Playlist has only %zu element",
+ "Playlist has only %zu elements", size),
size);
ret = VLC_ENOITEM;
}
More information about the vlc-commits
mailing list