Difference between revisions of "Hacker Guide/VLC source tree/src"

From VideoLAN Wiki
Jump to navigation Jump to search
m (adding a means of going to VLC source tree)
(Linking to directory folders that exist, change wikilink text)
 
(8 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Note: Data taken verbatim from the API. To get an overview see [[VLC source tree]].
+
Note: Data taken verbatim from the API. To get an overview see [[{{#rel2abs:..}}]].
  
LibVLC is the core part of VLC. It is a library providing an interface for programs such as VLC to a lot of functionalities such as stream access, audio and video output, plugin handling, a thread system. All the LibVLC source files are located in the src/ directory and its subdirectories:
+
'''libvlccore''' is the core part of VLC. It is the heart of VLC, powering the [[LibVLC]] library and providing the internal infrastructure for a lot of functionality such as stream access, audio and video output, plugin handling, a thread system. All the libvlccore source files are located in the {{VLCSourceFolder|src}} directory and its subdirectories:
  
 
{| class="wikitable"
 
{| class="wikitable"
Line 9: Line 9:
 
! Directory Explanation
 
! Directory Explanation
  
|-
 
|interface/
 
|contains code for user interaction such as key presses and device ejection.
 
 
|-
 
|-
|playlist/
+
|{{VLCSourceFolder|src/android}}
|manages playlist interaction such as stop, play, next, or random playback.
+
|Configuration code specific to VLC on [[Android]].
 
|-
 
|-
|input/
+
|{{VLCSourceFolder|src/audio_output}}
|opens an input module, reads packets, parses them and passes reconstituted elementary streams to the decoder(s).
+
|initializes the audio mixer, ie. finds the right playing frequency, and then resamples audio frames received from the decoder(s).
 
|-
 
|-
|video_output/
+
|{{VLCSourceFolder|src/config}}
|initializes the video display, gets all pictures and subpictures (ie. subtitles) from the decoder(s), optionally converts them to another format (such as YUV to RGB), and displays them.
+
|Contains code to parse command line arguments and vlcrc files.
 +
|-
 +
|{{VLCSourceFolder|src/darwin}}
 +
|Configuration code specific to VLC on Mac OS X.
 +
|-
 +
|{{VLCSourceFolder|src/extras}}
 +
|Some extra functions to complement the C library.
 +
|-
 +
|{{VLCSourceFolder|src/input}}
 +
|Opens an input module, reads packets, parses them and passes reconstituted elementary streams to the decoder(s).
 +
|-
 +
|{{VLCSourceFolder|src/interface}}
 +
|Contains code for user interaction such as key presses and device ejection.
 +
|-
 +
|{{VLCSourceFolder|src/misc}}
 +
|Miscellaneous utilities used in other parts of VLC, such as the thread system, the message queue, the object lookup system, the [[Hacker Guide/Variables|variable system]] or CPU detection.
 +
|-
 +
|{{VLCSourceFolder|src/modules}}
 +
|Contains the mechanism of the modules/plugin system.
 +
|-
 +
|{{VLCSourceFolder|src/network}}
 +
|Contains code related to network access.
 +
|-
 +
|{{VLCSourceFolder|src/os2}}
 +
|Configuration code specific to VLC on OS/2.
 +
|-
 +
|{{VLCSourceFolder|src/playlist}}
 +
|Manages playlist interaction such as stop, play, next, or random playback.
 +
|-
 +
|{{VLCSourceFolder|src/posix}}
 +
|Configuration code specific to VLC on POSIX.
 +
|-
 +
|{{VLCSourceFolder|src/stream_output}}
 +
|Initializes stream output muxers and encoders to enable [[streaming]] with VLC.
 +
|-
 +
|src/symbian
 +
|Configuration code specific to VLC on Symbian.
 +
|-
 +
|{{VLCSourceFolder|src/test}}
 +
|The short VLC test suite.
 
|-
 
|-
|audio_output/
+
|{{VLCSourceFolder|src/text}}
|initializes the audio mixer, ie. finds the right playing frequency, and then resamples audio frames received from the decoder(s).
+
|Contains text-related functions, like character encodings, [[Unicode]], and IDNs.
 
|-
 
|-
|stream_output
+
|{{VLCSourceFolder|src/video_output}}
|TODO
+
|initializes the video display, gets all pictures and subpictures (ie. subtitles) from the decoder(s), optionally converts them to another format (such as YUV to RGB), and displays them.
 
|-
 
|-
|misc/
+
|{{VLCSourceFolder|src/win32}}
|miscellaneous utilities used in other parts of libvlc, such as the thread system, the message queue, CPU detection, the object lookup system, or platform-specific code.
+
|Configuration code specific to VLC on [[Windows]]
 
|}
 
|}
  
 +
{{Hacker Guide}}
 
[[Category:Building]]
 
[[Category:Building]]

Latest revision as of 10:07, 15 February 2019

Note: Data taken verbatim from the API. To get an overview see Hacker Guide/VLC source tree.

libvlccore is the core part of VLC. It is the heart of VLC, powering the LibVLC library and providing the internal infrastructure for a lot of functionality such as stream access, audio and video output, plugin handling, a thread system. All the libvlccore source files are located in the src directory and its subdirectories:

Directory Name Directory Explanation
src/android Configuration code specific to VLC on Android.
src/audio_output initializes the audio mixer, ie. finds the right playing frequency, and then resamples audio frames received from the decoder(s).
src/config Contains code to parse command line arguments and vlcrc files.
src/darwin Configuration code specific to VLC on Mac OS X.
src/extras Some extra functions to complement the C library.
src/input Opens an input module, reads packets, parses them and passes reconstituted elementary streams to the decoder(s).
src/interface Contains code for user interaction such as key presses and device ejection.
src/misc Miscellaneous utilities used in other parts of VLC, such as the thread system, the message queue, the object lookup system, the variable system or CPU detection.
src/modules Contains the mechanism of the modules/plugin system.
src/network Contains code related to network access.
src/os2 Configuration code specific to VLC on OS/2.
src/playlist Manages playlist interaction such as stop, play, next, or random playback.
src/posix Configuration code specific to VLC on POSIX.
src/stream_output Initializes stream output muxers and encoders to enable streaming with VLC.
src/symbian Configuration code specific to VLC on Symbian.
src/test The short VLC test suite.
src/text Contains text-related functions, like character encodings, Unicode, and IDNs.
src/video_output initializes the video display, gets all pictures and subpictures (ie. subtitles) from the decoder(s), optionally converts them to another format (such as YUV to RGB), and displays them.
src/win32 Configuration code specific to VLC on Windows
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.