Difference between revisions of "Hacker Guide/Modules source tree"

From VideoLAN Wiki
Jump to navigation Jump to search
m (+{{Back to|Hacker Guide}})
 
(30 intermediate revisions by 7 users not shown)
Line 1: Line 1:
{{Stub}}
+
{{Back to|Hacker Guide}}
This page lists the content of the Modules directory in the source tree of VLC, aimed at giving new beginners an overview of the code.
+
This page lists the content of the {{VLCSourceFolder|modules}} directory in the [[{{#rel2abs:../VLC source tree}}|source tree of VLC]], aimed at giving new beginners an overview of the code.
  
  '''Why Does This Page Exist?
+
The directories are listed in alphabetical order, with an overview of their contents on the right. Any first level subdirectories are shown as well.
  Well, simply because VLC has evolved with not so much accumulation in mind,
+
 
  and when a new coder looks at the code, s/he is  terrified by the abundance of directories.
+
For detailed documentation on VLC modules, please see '''[[Documentation:Modules]]'''.
  Please remove this paragraph when done.'''
+
 
 +
'''''Note:''''' This table is by no means exhaustive. Note that only plugins with their own subdirectories are listed; plugins inside the parent directories are not emphasized unless they are too important. For a comprehensive list of the plugins VLC makes use of, consult {{VLCSourceFile|modules/MODULES_LIST}} in your source code checkout.
  
The directories are listed in alphabetical order, with an overview of their contents on the right. Any first level subdirectories are shown as well.
 
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
Line 31: Line 31:
 
|-
 
|-
 
|
 
|
|mms
+
|[[Documentation:Modules/mms|mms]]
 
|MMS over TCP, UDP and HTTP access module
 
|MMS over TCP, UDP and HTTP access module
 
|-
 
|-
Line 39: Line 39:
 
|-
 
|-
 
|
 
|
|screen
+
|[[Documentation:Modules/screen|screen]]
 
|an input module that takes screenshots of the primary monitor
 
|an input module that takes screenshots of the primary monitor
 
|-
 
|-
Line 56: Line 56:
 
|access-filter
 
|access-filter
 
|
 
|
|
+
|Includes the following filters: [[Documentation:Modules/timeshift|timeshift]], [[Documentation:Modules/record|record]], [[Documentation:Modules/dump|dump]], which are used for ?????
 
|-
 
|-
 
|
 
|
Line 72: Line 72:
 
|audio-filter
 
|audio-filter
 
|
 
|
|
+
|Various audio filters like decoders, equalizers, converters.
 +
 
 
|-
 
|-
 
|
 
|
 
|channel-mixer
 
|channel-mixer
|
+
|Various mixers and decoders like Dolby decoder
 
|-
 
|-
 
|
 
|
 
|converter
 
|converter
|Fixed and floating-point audio format conversions
+
|Fixed and floating-point audio format conversions such as AC/3 or MPEG I-II Audio Layer 1, 2, 3 decoding
 
|-
 
|-
 
|
 
|
Line 92: Line 93:
 
|audio-mixer
 
|audio-mixer
 
|
 
|
|
+
|Mixer plugins.
 
|-
 
|-
 
|
 
|
Line 100: Line 101:
 
|audio-output
 
|audio-output
 
|
 
|
|
+
|Audio output plugins like ALSA, OSS and DirectX audio.
 
|-
 
|-
 
|
 
|
Line 108: Line 109:
 
|codec
 
|codec
 
|
 
|
|
+
|This directory includes various codecs, notably ''ffmpeg'' which is used for encoding and decoding various formats.
 
|-
 
|-
 
|
 
|
Line 136: Line 137:
 
|control
 
|control
 
|
 
|
|
+
|Various interfaces to control the player: gestures, hotkeys, lirc, remote control (rc) and telnet
 
|-
 
|-
 
|
 
|
|http
+
|[[Documentation:Modules/http intf|http]]
 
|HTTP remote control webinterface
 
|HTTP remote control webinterface
 
|-
 
|-
Line 148: Line 149:
 
|demux
 
|demux
 
|
 
|
|
+
|Various demuxers
 
|-
 
|-
 
|
 
|
Line 168: Line 169:
 
|
 
|
 
|playlist
 
|playlist
|playlist import module
+
|playlist import module???
 
|-
 
|-
 
|
 
|
Line 176: Line 177:
 
|gui
 
|gui
 
|
 
|
|
+
|GUI's for different platforms and the [[Documentation:Modules/ncurses|ncurses ]] interface
 
|-
 
|-
 
|
 
|
|beos
+
|[[Documentation:Modules/beos|beos]]
 
|Audio output, video output and interface module for BeOS.
 
|Audio output, video output and interface module for BeOS.
 
|-
 
|-
 
|
 
|
|macosx
+
||[[Documentation:Modules/macosx gui|macosx]]
 
|Video output, and interface module for Mac OS X.
 
|Video output, and interface module for Mac OS X.
 
|-
 
|-
Line 195: Line 196:
 
|-
 
|-
 
|
 
|
|qt4
+
||[[Documentation:Modules/Qt4|qt4]]
|interface module using the cross-platform Qt4 library.
+
|interface module using the cross-platform Qt4 library: Multi-platform. This interface will be the default one upon subsequent releases.
 
|-
 
|-
 
|
 
|
|skins2
+
||[[Documentation:Modules/skins2|skins2]]
 
|Skinnable interface, new generation
 
|Skinnable interface, new generation
 
|-
 
|-
Line 208: Line 209:
 
|
 
|
 
|wxwidgets
 
|wxwidgets
|interface module using the cross-platform wxWindows library.
+
|interface module using the cross-platform wxWindows library: Multi-platform. The default interface as of VLC 0.86a.
 
|-
 
|-
 
|
 
|
Line 228: Line 229:
 
|
 
|
 
|dummy
 
|dummy
|dummy audio output, video output, interface and input modules.
+
|Dummy (no GUI) audio output, video output, interface and input modules.
 
|-
 
|-
 
|
 
|
Line 252: Line 253:
 
|
 
|
 
|xml
 
|xml
|LibXML xml parser
+
|LibXML and xtag xml parsers
 
|-
 
|-
 
|
 
|
Line 259: Line 260:
 
|-
 
|-
 
|mux
 
|mux
|
+
|Various Muxers
 
|
 
|
 
|-
 
|-
Line 272: Line 273:
 
|packetizer
 
|packetizer
 
|
 
|
|
+
|Packetizers for H264/AVC and MPEG 4 audio and video streams.
 
|-
 
|-
 
|
 
|
Line 299: Line 300:
 
| video-chroma
 
| video-chroma
 
|
 
|
|
+
|Image conversions such as YUV to RGB
 
|-
 
|-
 
|
 
|
Line 307: Line 308:
 
| video-filter
 
| video-filter
 
|
 
|
|
+
|Various video filters like [[Documentation:Modules/deinterlace|Deinterlace]], [[Documentation:Modules/transform|Transform]], [[Documentation:Modules/wall|Wall]], [[Documentation:Modules/crop|Crop]], [[Documentation:Modules/panoramix|Panoramix]] etc.
 
|-
 
|-
 
|
 
|
Line 318: Line 319:
 
|
 
|
 
|directx
 
|directx
|video output module using the DirectX API.
+
|Video output module using the [[Documentation:Modules/direct3d|Direct3D]] and [[Documentation:Modules/directx vout|Direct X]] API's ; [[Documentation:Modules/glwin32|OpenGL]]  for Windows.
 
|-
 
|-
 
|
 
|
 
|qte
 
|qte
|video output module for Qt Embedded.video output module using the X11 API.
+
|video output module for Qt Embedded.
 
|-
 
|-
 
|
 
|
|x11
+
|[[Documentation:Modules/x11|x11]]
|
+
|video output module using the X11 API.
 
|-
 
|-
 
|
 
|
Line 334: Line 335:
 
|visualization
 
|visualization
 
|
 
|
|
+
|Several visualizations, including [[Documentation:Modules/goom|goom]]
 
|-
 
|-
 
|
 
|
Line 343: Line 344:
 
|visual
 
|visual
 
|visualisation system
 
|visualisation system
 +
|}
 +
 +
See Also: [http://www.videolan.org/doc/vlc-user-guide/en/ch02.html VLC User Guide - Chapter 2.  Modules and options for VLC ]
 +
 +
[[Category:Building]]
 +
{{Hacker_Guide}}

Latest revision as of 06:40, 17 April 2019

← Back to Hacker Guide
This page lists the content of the modules directory in the source tree of VLC, aimed at giving new beginners an overview of the code.

The directories are listed in alphabetical order, with an overview of their contents on the right. Any first level subdirectories are shown as well.

For detailed documentation on VLC modules, please see Documentation:Modules.

Note: This table is by no means exhaustive. Note that only plugins with their own subdirectories are listed; plugins inside the parent directories are not emphasized unless they are too important. For a comprehensive list of the plugins VLC makes use of, consult modules/MODULES_LIST in your source code checkout.

Directory Name Subdirectory Name Directory Explanation
access protocols to access streams through network (http,ftp,fake,tcp,udp etc.), access to physical media like cd's and dvd's
cdda input module to read audio CDs
dshow DirectShow access plugin for encoding cards under Windows
dvb input module for DVB-S/C/T streaming using v4l2 API
mms MMS over TCP, UDP and HTTP access module
rtsp
screen an input module that takes screenshots of the primary monitor
vcd input module for accessing Video CDs.
vcdx input module for accessing Video CDs with navigation & stills
access-filter Includes the following filters: timeshift, record, dump, which are used for ?????
access-output
audio-filter Various audio filters like decoders, equalizers, converters.
channel-mixer Various mixers and decoders like Dolby decoder
converter Fixed and floating-point audio format conversions such as AC/3 or MPEG I-II Audio Layer 1, 2, 3 decoding
resampler Various audio resampler
audio-mixer Mixer plugins.
audio-output Audio output plugins like ALSA, OSS and DirectX audio.
codec This directory includes various codecs, notably ffmpeg which is used for encoding and decoding various formats.
cmml Continuous Media Markup Language annotations/hyperlinks decoder
dmo a DirectMediaObject decoder that uses DirectMedia to decode video (WMV3)
ffmpeg Video decoder using the ffmpeg library
spudec RLE DVD subtitles decoder
xvmc XVMC video output and decoder
control Various interfaces to control the player: gestures, hotkeys, lirc, remote control (rc) and telnet
http HTTP remote control webinterface
demux Various demuxers
asf ASF demuxer
avi AVI File stream demuxer
mp4 MP4 file input module
mpeg
playlist playlist import module???
gui GUI's for different platforms and the ncurses interface
beos Audio output, video output and interface module for BeOS.
macosx Video output, and interface module for Mac OS X.
pda interface for iPaq using the Gtk2+ widget set.
qnx QNX RTOS plugin
qt4 interface module using the cross-platform Qt4 library: Multi-platform. This interface will be the default one upon subsequent releases.
skins2 Skinnable interface, new generation
wince Pocket PC interface
wxwidgets interface module using the cross-platform wxWindows library: Multi-platform. The default interface as of VLC 0.86a.
meta-engine
misc
dummy Dummy (no GUI) audio output, video output, interface and input modules.
memcpy memory chunk copying module.
notify notifications using libnotify
playlist
probe
testsuite
xml LibXML and xtag xml parsers
mux Various Muxers
mpeg
rtp
packetizer Packetizers for H264/AVC and MPEG 4 audio and video streams.
services-discovery
stream-out
transrate
video-chroma Image conversions such as YUV to RGB
video-filter Various video filters like Deinterlace, Transform, Wall, Crop, Panoramix etc.
video-output
directx Video output module using the Direct3D and Direct X API's ; OpenGL for Windows.
qte video output module for Qt Embedded.
x11 video output module using the X11 API.
visualization Several visualizations, including goom
galaktos a visualization module that outputs OpenGL
visual visualisation system

See Also: VLC User Guide - Chapter 2. Modules and options for VLC

This page is part of official VLC media player Documentation (User GuideStreaming HowToHacker GuideModules)
Please read the Documentation Editing Guidelines before you edit the documentation
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.