VLC Developers Corner: Difference between revisions

From VideoLAN Wiki
Jump to navigation Jump to search
Funman (talk | contribs)
m typo
 
(163 intermediate revisions by 8 users not shown)
Line 1: Line 1:
__NOTOC__
__NOTOC__ __NOEDITSECTION__
<!-- Beginning of the banner section -->
{{Banner
|description=A directory of everything to do with the development of VideoLAN's projects.<br />
Check [[VLC media player|VLC's page]] to get info on VLC.
|links=
* [[VideoLAN]]
* [[VLC media player]]
** [https://addons.videolan.org Add-ons]
* [[Documentation:Documentation|Documentation]]
* [[VideoLAN_Sites#Developers|Developers' Sites]]
|links2=
* [https://www.videolan.org/developers Developer Zone]
* [https://nightlies.videolan.org Nightly builds]
* [https://jenkins.videolan.org Automatic builds]
|links3=
* [https://code.videolan.org/videolan/vlc/-/issues bugs, features, roadmap]
* [https://www.videolan.org/videolan/mirrors.html Mirrors check]
* [ftp://ftp.videolan.org/pub/videolan/ Main FTP]
}}
<!-- End of the banner section -->


Welcome to VLC's developers corner. This is a directory of everything to do with the development of VLC. If you are looking for information about downloading or using VLC, you should have a look at [http://www.videolan.org our website].
== Coding on VLC ==
* [[Getting Started At Coding|Get started at coding on VLC]]
* Get the [[GetTheSource|Source Code]] and [[Compile VLC]]
* You might be interested in our [[Mini Projects]] or [[GCodeIn_Ideas|Janitorial projects]]
* Read our [[Hacker_Guide|Hacker's Guide]]
** [[Hacker_Guide/Core|Introduction to VLC's core]]
** [[Hacker Guide/How To Write a Module|How to write a module]]
** [[Documentation:VLC_Modules_Loading|How VLC modules load]]
* [https://www.videolan.org/developers/vlc/doc/doxygen/html/ Code documentation]
* [[Code Conventions]]


{| cellspacing="3"
=== VLC development links ===
|- valign="top"
* [https://code.videolan.org/videolan/vlc/-/issues/ GitLab] list of bugs
|width="40%" class="MainPageBG" style="border: 1px solid #ffc9c9; color: #000; background-color: #fff3f3"|
* vlc-devel [https://www.videolan.org/developers/lists.html mailing list], mailing list.
* [https://www.videolan.org/developers/i18n/ Translation information and stats]
* [https://www.openhub.net/p/vlc Open Hub] statistics
* [https://jenkins.videolan.org Jenkins] (Automatic builds)
* [[Nightly build]]s
* Launchpad ([https://bugs.launchpad.net/distros/ubuntu/+source/vlc/+bugs?field.searchtext=vlc&orderby=-date_last_updated&search=Search&field.status%3Alist=Unconfirmed&field.status%3Alist=Confirmed&field.status%3Alist=In+Progress&field.status%3Alist=Needs+Info&field.status%3Alist=Fix+Committed&field.assignee=&field.owner=&field.omit_dupes=on&field.has_patch=&field.has_no_package= recent bug changes]) ([https://bugs.launchpad.net/distros/ubuntu/+source/vlc/+bugs all bugs])
* [https://code.videolan.org/ code.videolan.org]
* [https://git.videolan.org/ git.videolan.org]


=== Compiling VLC ===
== Current technical discussions on VLC ==
* [[Usability Complaints]]
* [[WaylandIntegration|Wayland integration]]


To compile VLC, you first need to get the [[GetTheSource|Source Code]].
=== Past discussions ===
 
* [[VoutRework|Vout Rework]] - improving the video output subsystem.
* [[UnixCompile|How to compile on Unix/Linux]]
* [[telnet rc rewrite]] - Merging the "telnet" and "rc" controls.
* [[Win32Compile|How to compile on Windows]]
* [[SimplePreferences|Simple Preferences]] - We wish to add a "simple" preferences mode, additionally to the full mode we already have.
* [[OSXCompile|How to compile on Mac OS X]]
* [[BeOSCompile|How to compile on BeOS]]
 
<!-- At the moment, all information is available from here : http://developers.videolan.org/vlc/ -->
 
|width="60%" class="MainPageBG" style="border: 1px solid #c6c9ff; color: #000; background-color: #f0f0ff"|
 
=== Joining us ===
 
VideoLAN welcomes anyone wanting to help, either by writing code, finding or fixing bugs, starting or updating translations, doing graphics work, ...
 
==== Getting started ====
 
Getting started at coding is a matter of finding something to fix, and fixing it. Once you have fixed something, you will want to send in a patch. If you do that a few times, you may want to apply for an SVN account so you can fix things directly.
 
You might be interested in having a look at our [[Mini_Projects|Mini Projects]], which are some identified development efforts for which an existing VLC developer is willing to help a new developer in his progress. These [[Mini_Projects]] generally don't require a great knowledge of VLC code.
 
It is recommended that you join the vlc-devel [http://developers.videolan.org/lists.html mailing list], where all commits are archived.
 
[[Getting_Started_At_Coding|More information on how to get started at coding on VLC]].
 
|}
 
<div style="margin:3pt;width:100%;border: 1px solid #119900; color: #000; background-color: #ddffdd">
 
=== What is currently going on ===
 
These pages are used to coordinate some of the currently ongoing development or artwork works.
 
==== Development ====
 
* [[VoutRework|Vout Rework]] - improving the video output subsystem
* [[ExternalAPI|External API]] - improving the external API to vlc
* [[MediaControlAPI|Media Control API]] - an high level player-independent media API, wrapping around our [[ExternalAPI|External API]]
* [[0.9.0PlaylistTODO|0.9.0 Playlist TODO]] - Major changes in the upcoming version
* [[telnet rc rewrite]] - Merging the "telnet" and "rc" controls  
* [[SimplePreferences|Simple Preferences]] - We wish to add a "simple" preferences mode, additionally to the full mode we already have
* [[QtIntfTODO|Qt Interface TODO]] - A brand new qt4 interface ... in order to get rid of wxWidgets.
* [[QtIntfTODO|Qt Interface TODO]] - A brand new qt4 interface ... in order to get rid of wxWidgets.
* [[Contrib_Status|Contrib Status]] - Contrib Libraries Status
** [[QtIntfMockups]]
*** [[QtImageset]]
*** [[QtIntfMockups-DericksIdea]]
* [[Qt and GTK]]
* [[DBus-spec]] - Specification for a Common, Desktop neutral, Media Player D-Bus interface.
* [[StatsSystem |Stats System]]
* [[InteractionSystem]] - Interaction System
* [[MediaControlAPI|Media Control API]] - an '''OUTDATED''' high level player-independent media API
* [[0.8.5StringReview]]
* [[2005StringsReview]]
* [[Libavcodec regressions]]
* [[Mobile Features]]
* [[AndroidTODO]] - moved to [https://code.videolan.org/videolan/vlc/-/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=Component%3A%3APort%3A%20Android Gitlab Android Component] and [https://code.videolan.org/videolan/vlc/-/issues?scope=all&utf8=%E2%9C%93&state=opened&label_name[]=Component%3A%3AInterface%3A%20Android Gitlab Android Interface Component]
* [[SDI API]] - Linux-related: regarding [[wikipedia:Serial digital interface|SDI]] cards for [[V4l2]]
* [[Newplaylist]]
* [[Newsoundslider]]
* [[BOMM3U]] - [[wikipedia:Byte order mark|Byte order mark]] for [[M3U]] playlists. <code>#EXTM3U</code> means [[wikipedia:M3U#Extended_M3U|Extended M3U]]


==== Design ====
=== Design ===
* [[DefaultSkinRequirements|Default Skin Requirements]] - what you need to make a skin that might be eligible for default skin
* [[WebsiteRedesign|Website Redesign]] and [[WebsiteDesign|Design Proposals]]
* [[WebsiteRedesign|Website Redesign]] and [[WebsiteDesign|Design Proposals]]
</div>
* [[DefaultSkinRequirements|Default Skin Requirements]] - Specifications of an eligible skin for default skin.
 
== Other software ==
 
VideoLAN is mainly about VLC, but not only.
 
Other software by VideoLAN include:
* [[libdvdcss]], a library to access DVD data without bothering about the CSS encryption
* [[libdvdplay]], a DVD navigation support library
* [[libdvbpsi]], a library to decode and create MPEG-TS and DVB-PSI tables
* [[libdca]], a DTS Coherent Acoustics audio decoder library
* [[x264]], a [[H264]] encoding library
 
== Miscellaneous how-to ==
* Cédric Bosdonnat 's [http://134.214.107.10:85/sims/index.php/Client_query notes] (fr) about developing a new module type.
 
* Diego 'Flameeyes' Pettenò 's [http://www.gentoo.org/proj/en/desktop/video/vlc.xml notes] about packaging VLC into [http://www.gentoo.org/ Gentoo].


* [[Add a skin|How to add a skin on the skins download page]]
[[Category:Development]]

Latest revision as of 19:45, 7 December 2023

Coding on VLC

VLC development links

Current technical discussions on VLC

Past discussions

Design