Updated 7.-Jami-plugins.md (markdown)
|
@ -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:
|
||||
|
||||
|
|
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 26 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 86 KiB |
Before Width: | Height: | Size: 24 KiB |
Before Width: | Height: | Size: 29 KiB |
Before Width: | Height: | Size: 42 KiB |
Before Width: | Height: | Size: 2.2 MiB |
Before Width: | Height: | Size: 38 KiB |