Commit graph libervia-backend/libervia/frontends/tools
Author SHA1 Message Date
Goffi
728b01d236 cli (call, file), frontends: implement webRTC data channel transfer:
- file send/receive commands now supports webRTC transfer. In `send` command, the
  `--webrtc` flags is currenty used to activate it.

- WebRTC related code have been factorized and moved to `libervia.frontends.tools.webrtc*`
  modules.

rel 442
2024-04-06 13:43:09 +02:00
Goffi
ec3e037a1a frontends (tools/webrtc): add a options to merge video for PiP and to specify size:
- the `merge_pip` option is now used to indicate if local feedback and remote video
  streams must be merged with local feedback being a PiP of remote video. By default, it's
  done for `SINKS_AUTO`, but it can be manually specified to use it with `SINKS_APP` or to
  split ``SINKS_AUTO`` in 2 windows.
- target size of the compositor used with `merge_pip` can be specified. By default, 720p
  is used.

rel 428
2024-02-16 18:46:02 +01:00
Goffi
04ed0e2bd6 frontends (tools/webrtc): implement screensharing for Wayland + bug fixes:
- Freedesktop Desktop Screenshare port is now used when Wayland is detected (needs
  `xdg-desktop-portal` with the implementation corresponding to desktop environment).
- Add a binding feature to feedback state to application (e.g. if desktop sharing is
  cancelled from desktop environment, or at portal's permission request level).
- fix misnaming of video source (was wrongly named `camera` instead of `video`).
- fix desktop sharing pad selection in `input-selector` when it has been added once, then
  removed, then added again.

rel 434
2024-01-18 23:29:25 +01:00
Goffi
27ae8655d7 frontends (tools/webrtc): implement X11 desktop sharing:
rel 433
2024-01-16 10:42:00 +01:00
Goffi
3fecc07a7e frontends (tools): module to handle display servers:
rel 433
2024-01-16 10:41:58 +01:00
Goffi
6b26dcedfa frontends (tools/webrtc): fix SINKS_APP condition check. 2023-11-03 15:32:17 +01:00
Goffi
221c73b947 frontends (tools/webrtc): Better message on Python override missing:
raise an exception instead of simple `print` to stop loading the module, and show a more
detailed message with the package to install.
2023-11-02 12:11:21 +01:00
Goffi
547375c079 frontends (tools): webrtc implementation:
this is a factored implementation usable by all non-web frontends. Sources and Sinks can
be configured easily to use tests source or local webcam/microphone, autosinks or a
`appsink` that the frontend will use.

rel 426
2023-11-01 14:03:36 +01:00
Goffi
1ce499a6d2 frontends (tools/aio): add tool to run from thread, run maybe async method, or run GLib loop:
- `run_from_thread` can be used to run a method from a thread.
- `maybe_async` can be used to run a method if we are not sure if it's async or not.
- `install_glib_asyncio_iteration` run the GLib loop from asyncio one's.

rel 426
2023-11-01 14:00:48 +01:00
Goffi
04a0e449c5 frontends (tools) new aio module for tools regarding asyncio:
A first method lets run an async method from blocking code.

rel 424
2023-10-03 16:27:51 +02:00
Goffi
4ab9bd7bc8 refactoring: rename sat_frontends to libervia.frontends 2023-06-02 14:12:38 +02:00