Difference between revisions of "Documentation:VLC Modules Loading"

From VideoLAN Wiki
Jump to navigation Jump to search
m
Line 9: Line 9:
 
VLC cannot do much without modules, since modules are providing most of the functionnalities we expect. See the "Major Capabilites" sections.  
 
VLC cannot do much without modules, since modules are providing most of the functionnalities we expect. See the "Major Capabilites" sections.  
  
A VLC module has 2 major properties:  
+
A VLC module has 2 major properties:  
  
 
*the capability, VLC_MODULE_CAPABILITY, that describes the category of the module  
 
*the capability, VLC_MODULE_CAPABILITY, that describes the category of the module  
 
*the score, VLC_MODULE_SCORE, that holds the priority of the module
 
*the score, VLC_MODULE_SCORE, that holds the priority of the module
  
=== How does the loading of modules happens ===
+
 
 +
 
 +
=== How does the loading of modules happens ===
  
 
VLC keeps a list of detected VLC modules (named the plugins cache).  
 
VLC keeps a list of detected VLC modules (named the plugins cache).  
  
When VLC needs a module, it tries to open a the higher-score capabiltiy-matching module that accept the request.
+
When VLC needs a module, it tries to open a the higher-score capability-matching module that accept the request.<br>
 +
 
 +
Let's do an '''example'''.
 +
 
 +
When VLC needs a "decoder" ("decoder" is one category/capability), it opens all "decoder" modules, until one matches.  
  
 +
It opens them in decreasing score order (bigger score first, smaller ones at the end), and runs the Open() function of the modules. When one module returns OK, VLC uses this module.
  
  
Let's do an '''example'''.
+
=== Special functions ===
 +
==== Score of 0 ====
 +
If a module has a score of 0, it needs to be explicitly requested by the user (like forcing --codec or --vout)
  
When VLC needs a "decoder" ("decoder" is one special category/capability), it opens all "decoder" modules, until one matches.
+
==== none, all =====
  
It opens them in decreasing score order (bigger score first, smaller ones at the end), and runs the Open() function of the modules. When one module returns OK, VLC uses this module.
 
  
 
=== How to list Modules  ===
 
=== How to list Modules  ===

Revision as of 17:47, 30 October 2010

VLC modules loading

How does VLC load modules?

Introduction about Modules

VLC has a core and a lot of modules (between 200 and 400 depending on the build).

VLC cannot do much without modules, since modules are providing most of the functionnalities we expect. See the "Major Capabilites" sections.

A VLC module has 2 major properties:

  • the capability, VLC_MODULE_CAPABILITY, that describes the category of the module
  • the score, VLC_MODULE_SCORE, that holds the priority of the module


How does the loading of modules happens

VLC keeps a list of detected VLC modules (named the plugins cache).

When VLC needs a module, it tries to open a the higher-score capability-matching module that accept the request.

Let's do an example.

When VLC needs a "decoder" ("decoder" is one category/capability), it opens all "decoder" modules, until one matches.

It opens them in decreasing score order (bigger score first, smaller ones at the end), and runs the Open() function of the modules. When one module returns OK, VLC uses this module.


Special functions

Score of 0

If a module has a score of 0, it needs to be explicitly requested by the user (like forcing --codec or --vout)

none, all =

How to list Modules

  • Using Console
vlc --list
  • Using GUI
Menu -> Tools -> Plugins and extensions

Major Capabilities