[vlc-devel] [PATCH 1/2] cli: remove TCP mode (--rc-host)

Pierre Ynard linkfanel at yahoo.fr
Mon Nov 30 04:23:43 CET 2020


Sorry for the delay, I felt pretty down over what this conversation has
led to. The original point was to deduplicate the CLI. A command-line
interface is one where you type in lines of text. RC from a terminal
is one, RC over a socket is one, Telnet is one, the VLM is one. There
is little point in having several of them in VLC, or scattering and
segregating pieces of them across competing implementations or different
channels. So this had all been merged (except for missing Unix sockets)
in cli.lua, and that was a good goal getting achieved.

Now your point is making a distinction between the CLI, and the "Telnet
interface" as still implemented by cli.lua, which apparently wouldn't be
a CLI from what you sound like. I think this makes inherently no sense.
Maybe you'll want to put up arguments defending your approach. But I
disagree with it. The original point was to deduplicate the CLI, and I
think that deduplicating by artificially reintroducing some distinction
is bad and maybe worse than if we hadn't done anything at all.

> Backward compatibility is the *only* possible motivation. If you don't
> care about strict compatibility, you can use the so-called telnet
> interface which provides the exact same functionality as RC's TCP
> mode.

> Of course. But if you are okay with requiring a password, why do you
> even object to removing CLI TCP mode while keeping Telnet? (That's
> what this patchset does, just saying.)

To answer your questions here, I don't want to keep two CLI
implementations, and we decided that we preferred the C one, so I don't
want cli.lua to be kept, and I think it would be terrible to keep it at
this point.

> > When I type commands, it outputs "returned 0 (no error)" and other
> > notification messages as a response, even over TCP, so I'm not sure
> > what you mean.
> 
> It does not. Not in the C RC interface. And it couldn't be added
> without breaking compatibility with older versions of its self. And
> that seems rather obnoxious also. My shell does not tell me about "no
> errors" for every command.

I'll include steps to reproduce then, and we can compare if we get
the same thing. I launch 3.0.11.1 with `vlc -I oldrc --rc-host
localhost:4212` - that's the C RC interface, right? - then I connect
with `nc localhost 4212` and type away:

status
status change: ( audio volume: 256 )
status change: ( stop state: 5 )
status: returned 0 (no error)
play
play: returned 0 (no error)
stop
stop: returned 0 (no error)
seek
seek: returned 0 (no error)

-- 
Pierre Ynard
"Une âme dans un corps, c'est comme un dessin sur une feuille de papier."


More information about the vlc-devel mailing list