Hacker Guide/VLC source tree/src

From VideoLAN Wiki
Revision as of 11:23, 7 February 2008 by Materthron (talk | contribs) (adding a means of going to VLC source tree)
Jump to navigation Jump to search

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

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:

Directory Name Directory Explanation
interface/ contains code for user interaction such as key presses and device ejection.
playlist/ manages playlist interaction such as stop, play, next, or random playback.
input/ opens an input module, reads packets, parses them and passes reconstituted elementary streams to the decoder(s).
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.
audio_output/ initializes the audio mixer, ie. finds the right playing frequency, and then resamples audio frames received from the decoder(s).
stream_output TODO
misc/ 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.