Hacker Guide/VLC source tree/src
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 |
---|---|
control/ | contains libvlc specific code. |
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. |