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

From VideoLAN Wiki
Jump to navigation Jump to search
m (+{{Back to|Hacker Guide}})
 
(35 intermediate revisions by 7 users not shown)
Line 1: Line 1:
access - protocols to access streams through network(http,ftp,fake,tcp,udp etc.), access to cd/dvd's
+
{{Back to|Hacker Guide}}
 +
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.
  
{{Stub}}
+
The directories are listed in alphabetical order, with an overview of their contents on the right. Any first level subdirectories are shown as well.
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.
+
 
 +
For detailed documentation on VLC modules, please see '''[[Documentation:Modules]]'''.
  
  '''Why Does This Page Exist?
+
'''''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.
  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.
 
  Please remove this paragraph when done.'''
 
  
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 18: Line 16:
 
|access
 
|access
 
|
 
|
|
+
|protocols to access streams through network (http,ftp,fake,tcp,udp etc.), access to physical media like cd's and dvd's
 
|-
 
|-
 
|
 
|
 
|cdda
 
|cdda
|
+
|input module to read audio CDs
 
|-
 
|-
 
|
 
|
 
|dshow
 
|dshow
|
+
|DirectShow access plugin for encoding cards under Windows
 
|-
 
|-
 
|
 
|
 
|dvb
 
|dvb
|
+
|input module for DVB-S/C/T streaming using v4l2 API
 
|-
 
|-
 
|
 
|
|mms
+
|[[Documentation:Modules/mms|mms]]
|
+
|MMS over TCP, UDP and HTTP access module
 
|-
 
|-
 
|
 
|
Line 41: Line 39:
 
|-
 
|-
 
|
 
|
|screen
+
|[[Documentation:Modules/screen|screen]]
|
+
|an input module that takes screenshots of the primary monitor
 
|-
 
|-
 
|
 
|
 
|vcd
 
|vcd
 +
|input module for accessing Video CDs.
 +
|-
 
|
 
|
 +
|vcdx
 +
|input module for accessing Video CDs with navigation & stills
 
|-
 
|-
 
|
 
|
|vcdx
+
|
 
|
 
|
 
|-
 
|-
 
|access-filter
 
|access-filter
 +
|
 +
|Includes the following filters: [[Documentation:Modules/timeshift|timeshift]], [[Documentation:Modules/record|record]], [[Documentation:Modules/dump|dump]], which are used for ?????
 +
|-
 +
|
 
|
 
|
 
|
 
|
 
|-
 
|-
 
|access-output
 
|access-output
 +
|
 +
|
 +
|-
 +
|
 
|
 
|
 
|
 
|
Line 62: 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 such as AC/3 or MPEG I-II Audio Layer 1, 2, 3 decoding
 +
|-
 
|
 
|
 +
|resampler
 +
|Various audio resampler
 
|-
 
|-
 
|
 
|
|resampler
+
|
 
|
 
|
 
|-
 
|-
 
|audio-mixer
 
|audio-mixer
 +
|
 +
|Mixer plugins.
 +
|-
 +
|
 
|
 
|
 
|
 
|
 
|-
 
|-
 
|audio-output
 
|audio-output
 +
|
 +
|Audio output plugins like ALSA, OSS and DirectX audio.
 +
|-
 +
|
 
|
 
|
 
|
 
|
Line 86: Line 109:
 
|codec
 
|codec
 
|
 
|
|
+
|This directory includes various codecs, notably ''ffmpeg'' which is used for encoding and decoding various formats.
 
|-
 
|-
 
|
 
|
 
|cmml
 
|cmml
|
+
|Continuous Media Markup Language annotations/hyperlinks decoder
 
|-
 
|-
 
|
 
|
 
|dmo
 
|dmo
|
+
|a DirectMediaObject decoder that uses DirectMedia to decode video (WMV3)
 
|-
 
|-
 
|
 
|
 
|ffmpeg
 
|ffmpeg
|
+
|Video decoder using the ffmpeg library
 
|-
 
|-
 
|
 
|
 
|spudec
 
|spudec
 +
|RLE DVD subtitles decoder
 +
|-
 
|
 
|
 +
|xvmc
 +
|XVMC video output and decoder
 
|-
 
|-
 
|
 
|
|xvmc
+
|
 
|
 
|
 
|-
 
|-
 
|control
 
|control
 
|
 
|
 +
|Various interfaces to control the player: gestures, hotkeys, lirc, remote control (rc) and telnet
 +
|-
 
|
 
|
 +
|[[Documentation:Modules/http intf|http]]
 +
|HTTP remote control webinterface
 
|-
 
|-
 
|
 
|
|http
+
|
 
|
 
|
 
|-
 
|-
 
|demux
 
|demux
 
|
 
|
|
+
|Various demuxers
 
|-
 
|-
 
|
 
|
 
|asf
 
|asf
|
+
|ASF demuxer
 
|-
 
|-
 
|
 
|
 
|avi
 
|avi
|
+
|AVI File stream demuxer
 
|-
 
|-
 
|
 
|
 
|mp4
 
|mp4
|
+
|MP4 file input module
 
|-
 
|-
 
|
 
|
Line 138: Line 169:
 
|
 
|
 
|playlist
 
|playlist
 +
|playlist import module???
 +
|-
 +
|
 +
|
 
|
 
|
 
|-  
 
|-  
 
|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.
 
|-
 
|-
 
|
 
|
|macosx
+
||[[Documentation:Modules/macosx gui|macosx]]
|
+
|Video output, and interface module for Mac OS X.
 
|-
 
|-
 
|
 
|
 
|pda
 
|pda
|
+
|interface for iPaq using the Gtk2+ widget set.
 
|-
 
|-
 
|
 
|
 
|qnx
 
|qnx
 +
|QNX RTOS plugin
 +
|-
 
|
 
|
 +
||[[Documentation:Modules/Qt4|qt4]]
 +
|interface module using the cross-platform Qt4 library: Multi-platform. This interface will be the default one upon subsequent releases.
 
|-
 
|-
 
|
 
|
|qt4
+
||[[Documentation:Modules/skins2|skins2]]
 +
|Skinnable interface, new generation
 +
|-
 
|
 
|
 +
|wince
 +
|Pocket PC interface
 
|-
 
|-
 
|
 
|
|skins2
+
|wxwidgets
 +
|interface module using the cross-platform wxWindows library: Multi-platform. The default interface as of VLC 0.86a.
 +
|-
 
|
 
|
|-
 
 
|
 
|
|wince
 
 
|
 
|
 
|-
 
|-
 +
| meta-engine
 
|
 
|
|wxwidgets
 
 
|
 
|
 
|-
 
|-
| meta-engine
+
|
 
|
 
|
 
|
 
|
Line 186: Line 229:
 
|
 
|
 
|dummy
 
|dummy
|
+
|Dummy (no GUI) audio output, video output, interface and input modules.
 
|-
 
|-
 
|
 
|
 
|memcpy
 
|memcpy
|
+
|memory chunk copying module.
 
|-
 
|-
 
|
 
|
 
|notify
 
|notify
|
+
|notifications using libnotify
 
|-
 
|-
 
|
 
|
Line 210: Line 253:
 
|
 
|
 
|xml
 
|xml
 +
|LibXML and xtag xml parsers
 +
|-
 +
|
 +
|
 
|
 
|
 
|-
 
|-
 
|mux
 
|mux
|
+
|Various Muxers
 
|
 
|
 
|-
 
|-
Line 225: Line 272:
 
|-
 
|-
 
|packetizer
 
|packetizer
 +
|
 +
|Packetizers for H264/AVC and MPEG 4 audio and video streams.
 +
|-
 +
|
 
|
 
|
 
|
 
|
 
|-
 
|-
 
|services-discovery
 
|services-discovery
 +
|
 +
|
 +
|-
 +
|
 
|
 
|
 
|
 
|
Line 237: Line 292:
 
|
 
|
 
|transrate
 
|transrate
 +
|
 +
|-
 +
|
 +
|
 
|
 
|
 
|-
 
|-
 
| video-chroma
 
| video-chroma
 +
|
 +
|Image conversions such as YUV to RGB
 +
|-
 +
|
 
|
 
|
 
|
 
|
 
|-
 
|-
 
| 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 252: Line 319:
 
|
 
|
 
|directx
 
|directx
|
+
|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.
 +
|-
 
|
 
|
 +
|[[Documentation:Modules/x11|x11]]
 +
|video output module using the X11 API.
 
|-
 
|-
 
|
 
|
|x11
+
|
 
|
 
|
 
|-
 
|-
 
|visualization
 
|visualization
 
|
 
|
|
+
|Several visualizations, including [[Documentation:Modules/goom|goom]]
 
|-
 
|-
 
|
 
|
 
|galaktos
 
|galaktos
|
+
|a visualization module that outputs OpenGL
 
|-
 
|-
 
|
 
|
 
|visual
 
|visual
|
+
|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.