Mercurial > libervia-backend
view doc/libervia-cli/pipe.rst @ 4044:3900626bc100
plugin XEP-0166: refactoring, and various improvments:
- add models for transport and applications handlers and linked data
- split models into separate file
- some type hints
- some documentation comments
- add actions to prepare confirmation, useful to do initial parsing of all contents
- application arg/kwargs and some transport data can be initialised during Jingle
`initiate` call, this is notably useful when a call is made with transport data (this is
the call for A/V calls where codecs and ICE candidate can be specified when starting a
call)
- session data can be specified during Jingle `initiate` call
- new `store_in_session` argument in `_parse_elements`, which can be used to avoid
race-condition when a context element (<decription> or <transport>) is being parsed for
an action while an other action happens (like `transport-info`)
- don't sed `sid` in `transport_elt` during a `transport-info` action anymore in
`build_action`: this is specific to Jingle File Transfer and has been moved there
rel 419
author | Goffi <goffi@goffi.org> |
---|---|
date | Mon, 15 May 2023 16:23:11 +0200 |
parents | 267e4987b58b |
children |
line wrap: on
line source
================================================== pipe: send/receive data stream through shell pipes ================================================== ``pipe`` commands allow you to send or receive data stream through a Unix shell pipe. Libervia will create a network connection (using XMPP and Jingle) between you an your contact. in == Receive data stream. Data will be send to stdout, so it can be piped out or simply print to the screen. You can specify bare jids of entities to accept stream for, by default all streams are accepted. example ------- Receive a video stream, and redirect it to mpv_ so show the video:: $ li pipe in | mpv - .. _mpv: https://mpv.io/ out === Send data stream. Data comes from stdin, so you may use pipe in something or just write some text. The only expected argument is the full jid of the device where the stream must be piped out. example ------- Send a video to louise:: $ li pipe out louise@example.org/libervia.123 < some_video.webm Send output from ``cal`` command to louise:: $ cal | li pipe out louise@example.org/libervia.123