Updated 7.-Jami-plugins.md (markdown)

This commit is contained in:
agsantos 2020-07-20 09:41:33 -04:00
parent 615d799922
commit bcfd62611d
13 changed files with 16 additions and 19 deletions

View File

@ -5,12 +5,24 @@ As from September of 2020, Jami team has added plugins as a call feature for Lin
This meaning that now you can personalize your call experience by using one of our available plugins.
But that is not all, you can also transform your awesome ideas into a brand new plugin!
To properly setup a plugin you must follow the steps bellow.
* To properly setup a plugin you must follow the steps in [#How to use it?]("").
* To build a available plugin, please refer to [#How to build?]("") instructions.
* To create your own plugin, please refer to [Create Plugin](create_plugin) instructions.
To build a available plugin, please refer to [#How to build?]("") instructions.
To create your own plugin, please refer to [Create Plugin](create_plugin) instructions.
## How it works?
Jami can be break down to three main components that interact together: Daemon, LRC and clients.
Daemon is the core of Jami, and although it does not interact with users, it is involved in every
command. Therefore, Daemon has a `JamiPluginManager` class that among other actions perfoms install/uninstall, load/unload, edit preferences and control plugins' usage.
Despite Daemon importance, what a plugin effectivelly does to a call video is unknown to it the same way Daemon does not know what is effectivelly done by LRC or the clients interfaces.
Plugins then can be seen as a forth interacting component in Jami.
If you are interested in knowing how our Plugin system works, please refer to [#How it works?]("")
Plugins are composed by two main components: the media handler and the process. While the latter actually implements plugin's functionality and waits data to perform, the former is the interface between Daemon and the plugin.
It is, the media handler is attached or detached to a media stream from Daemon and passes data to plugin's process.
To use a plugin it is necessary that the `JamiPluginManager` knows plugin's media handlers and the available media streams.
Plugin's media handlers are created once a plugin is loaded and they are shared with Daemon's Plugin Manager.
And in the event of a new SIP call, the `JamiPluginManager` creates and stores the corresponding media stream subjects.
Finally, once a user puts a plugin in action the `JamiPluginManager` attaches that plugin's media handler and the available call media streams. When deactivated, our Plugin Manager dettaches these two instances.
## How to use it?
@ -183,21 +195,6 @@ Each of these files corresponds to a platform and tensorflow build to be used.
The foregroundsegmentation.jpl file will be available under `<jami-plugins/build/>`.
### How it works?
Jami can be break down to three main components that interact together: Daemon, LRC and clients.
Daemon is the core of Jami, and although it does not interact with users, it is involved in every
command. Therefore it is only natural that Daemon is responsible for everything related to Plugin's management, and among other actions it perfoms install/uninstall, load/unload, edit preferences and control plugins' usage.
Despite Daemon importance, what a plugin effectivelly does to a call video is unknown to it the same way Daemon does not know what is effectivelly done by LRC or the clients interfaces.
Plugins then can be seen as a forth interacting component in Jami.
By it's time Plugins are composed by two main components: the media handler and the process. While the latter actually implements plugin's functionality and waits data to perform, the former is the interface between Daemon and the plugin.
It is, the media handler is attached or detached to a media stream from Daemon and passes it to plugin's process.
To use a plugin it is necessary that the Plugin Manager knows the available media stream and plugin's media handlers.
Plugin's media handlers are created once a plugin is loaded and they are shared with Daemon's Plugin Manager.
In the event of a new SIP call, the Plugin Manager creates and stores the corresponding media stream subjects.
Finally, once a user puts a plugin in action the Plugin Manager attaches this plugin's media handler and the available call media streams. When deactivated, our Plugin Manager dettaches these two instances.
Related articles:

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 86 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB