vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Sun Nov 29 12:51:51 2020 +0200| [493568b3e08993407a2510d3b39d2eadbd001c91] | committer: Rémi Denis-Courmont
cli: allow console and Unix socket modes simultaneously This allows the interface to process commands both from the standard input and from incoming Unix socket clients. This also fixes a bug where socket mode would only start if the standard input was a TTY or --rc-fake-tty was passed. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=493568b3e08993407a2510d3b39d2eadbd001c91 --- modules/control/cli/cli.c | 28 +++++++++++----------------- 1 file changed, 11 insertions(+), 17 deletions(-) diff --git a/modules/control/cli/cli.c b/modules/control/cli/cli.c index b2f72b3f89..58773b22de 100644 --- a/modules/control/cli/cli.c +++ b/modules/control/cli/cli.c @@ -799,14 +799,18 @@ static int Activate( vlc_object_t *p_this ) RegisterPlaylist(p_intf); #ifndef _WIN32 -#if defined(HAVE_ISATTY) - /* Check that stdin is a TTY */ - if( !var_InheritBool( p_intf, "rc-fake-tty" ) && !isatty( 0 ) ) +# ifndef HAVE_ISATTY +# define isatty(fd) (fd, 0) +# endif + /* Start CLI on the standard input if it is an actual console */ + if (isatty(fileno(stdin)) || var_InheritBool(p_intf, "rc-fake-tty")) { - msg_Warn( p_intf, "fd 0 is not a TTY" ); - goto error; + cl = cli_client_new_std(p_intf); + if (cl == NULL) + goto error; + vlc_list_append(&cl->node, &p_sys->clients); } -#endif + #ifdef AF_LOCAL char *psz_unix_path = var_InheritString(p_intf, "rc-unix"); if( psz_unix_path ) @@ -904,6 +908,7 @@ static int Activate( vlc_object_t *p_this ) setvbuf( stdout, (char *)NULL, _IOLBF, 0 ); #ifndef _WIN32 + if (pi_socket != NULL) #else p_sys->i_socket = -1; #if VLC_WINSTORE_APP @@ -913,17 +918,6 @@ static int Activate( vlc_object_t *p_this ) if( !p_sys->b_quiet ) intf_consoleIntroMsg( p_intf ); #endif -#endif - -#ifndef _WIN32 - if (pi_socket == NULL) - { - cl = cli_client_new_std(p_intf); - if (cl == NULL) - goto error; - vlc_list_append(&cl->node, &p_sys->clients); - } - else #endif if( vlc_clone( &p_sys->thread, Run, p_intf, VLC_THREAD_PRIORITY_LOW ) ) goto error; _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
