Difference between revisions of "VLC Developers Corner"

From VideoLAN Wiki
Jump to navigation Jump to search
m (typo)
 
(157 intermediate revisions by 8 users not shown)
Line 1: Line 1:
__NOTOC__
+
__NOTOC__ __NOEDITSECTION__
<!-- Beginning of header section -->
+
<!-- Beginning of the banner section -->
{|style="width:100%;margin-top:+.7em;background-color:#fcfcfc;border:1px solid #ccc"
+
{{Banner
|style="width:56%;color:#000"|
+
|description=A directory of everything to do with the development of VideoLAN's projects.<br />
{|style="width:280px;border:solid 0px;background:none"
+
Check [[VLC media player|VLC's page]] to get info on VLC.
|-
+
|links=
|style="width:280px;text-align:center;white-space:nowrap;color:#000" |
+
* [[VideoLAN]]
<div style="font-size:162%;border:none;margin: 0;padding:.1em;color:#000">Welcome to [[Developers_Corner|VideoLAN Developers Corner]],</div>
+
* [[VLC media player]]
<div style="top:+0.2em;font-size: 95%"> This is a directory of everything to do with the development of VideoLAN's projects.<br />
+
** [https://addons.videolan.org Add-ons]
Check [[VLC|VLC's page]] to get info on VLC.
+
* [[Documentation:Documentation|Documentation]]
</div>
+
* [[VideoLAN_Sites#Developers|Developers' Sites]]
<div id="articlecount" style="width:100%;text-align:center;font-size:85%;">[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles</div>
+
|links2=
|}
+
* [https://www.videolan.org/developers Developer Zone]
|style="width:11%;font-size:95%;color:#000" valign="top"|
+
* [https://nightlies.videolan.org Nightly builds]
*[[VideoLAN|VideoLAN]]
+
* [https://jenkins.videolan.org Automatic builds]
*[[VLC|VLC media player]]
+
|links3=
*[[Documentation:Documentation|Documentation]]
+
* [https://code.videolan.org/videolan/vlc/-/issues bugs, features, roadmap]
|style="width:14%;font-size:95%" valign="top"|
+
* [https://www.videolan.org/videolan/mirrors.html Mirrors check]
* [http://developers.videolan.org Main Developers Site]
 
* [http://nightlies.videolan.org Nightly builds]
 
* [http://buildbot.videolan.org Buildbot for Automatic Builds]
 
|style="width:18%;font-size:95%" valign="top"|
 
* [http://trac.videolan.org Trac, bugs, features, roadmap]
 
* [http://mirrors.videolan.org Mirrors check]
 
 
* [ftp://ftp.videolan.org/pub/videolan/ Main FTP]
 
* [ftp://ftp.videolan.org/pub/videolan/ Main FTP]
|}
+
}}
<!-- end of the header section -->
+
<!-- End of the banner section -->
  
{|
+
== Coding on VLC ==
|- valign="top" width="100%"
+
* [[Getting Started At Coding|Get started at coding on VLC]]
 
+
* Get the [[GetTheSource|Source Code]] and [[Compile VLC]]
|width="30%" valign="top"|
+
* You might be interested in our [[Mini Projects]] or [[GCodeIn_Ideas|Janitorial projects]]
<div style="border: 1px solid #ddcef2; color: #000; background-color: #faf5ff ; padding: 10px; margin: 6px;">
+
* Read our [[Hacker_Guide|Hacker's Guide]]
 
+
** [[Hacker_Guide/Core|Introduction to VLC's core]]
<h2 style="margin:0;background:#ddcef2;font-size:120%;font-weight:bold;border:1px solid #afa3bf;text-align:left;color:#000;padding:0.2em 0.4em;">
+
** [[Hacker Guide/How To Write a Module|How to write a module]]
VideoLAN projects</h2>
+
** [[Documentation:VLC_Modules_Loading|How VLC modules load]]
Here is a short list of the main [[VideoLAN projects|projects]] hosted by the VideoLAN project:
+
* [https://www.videolan.org/developers/vlc/doc/doxygen/html/ Code documentation]
* [[VLC|VLC media player]], the core and main program, is a complete video solution that is a player, a live transcoder and a streamer.
 
* [[VLS]] is a streaming server, used for professional streaming solutions. [[VLC|VLC]] can now do the same. ''VLS is deprecated and unmaintained''.
 
* [[MiniSAPServer]] is a SAP server.
 
* [[x264]], a free H264 / AVC encoder.
 
 
 
=== Libraries ===
 
* [http://en.wikipedia.org/wiki/Libdvdcss libdvdcss], a C library to access DVDs without having to bother about the decryption.
 
* [[libdvbpsi]], a C library to decode and generate MPEG TS and DVB PSI tables.
 
* [http://en.wikipedia.org/wiki/Libdca libdca], a DTS Coherent Acoustics decoder.
 
 
 
Discover also [[VideoLAN projects|lesser known projects]].
 
</div>
 
 
 
 
 
| second cell
 
| third cell
 
|-
 
|}
 
 
 
{| cellspacing="3"
 
|- valign="top"
 
|width="40%" class="MainPageBG" style="border: 1px solid #ffc9c9; color: #000; background-color: #fff3f3"|
 
 
 
=== Compiling VLC ===
 
 
 
To compile VLC, you first need to get the [[GetTheSource|Source Code]].
 
 
 
* [[UnixCompile|How to compile on Unix/Linux]]
 
* [[Win32Compile|How to compile on Windows]]
 
* [[OSXCompile|How to compile on Mac OS X]]
 
* [[BeOSCompile|How to compile on BeOS]]
 
 
 
=== Rules ===
 
* [[Unicode and Strings]]
 
 
* [[Code Conventions]]
 
* [[Code Conventions]]
* [[Documentation:Hacker%27s_Guide|Hacker's Guide]]
 
* [http://developers.videolan.org/vlc/vlc/doc/doxygen/html Code documentation]
 
  
=== Tools ===
+
=== VLC development links ===
* [http://trac.videolan.org/vlc Trac] list of bugs, todo's and history of commits.
+
* [https://code.videolan.org/videolan/vlc/-/issues/ GitLab] list of bugs
* [[Contrib_Status|Contrib Status]] - Contrib Libraries Status
+
* vlc-devel [https://www.videolan.org/developers/lists.html mailing list], mailing list.
* [https://bugs.launchpad.net/products/vlc Launchpad for VLC] ([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://www.videolan.org/developers/i18n/ Translation information and stats]
* [http://developers.videolan.org/i18n/vlc.html Translation information and stats]
+
* [https://www.openhub.net/p/vlc Open Hub] statistics
* [http://cia.navi.cx/stats/project/vlc CIA commit statistics]
+
* [https://jenkins.videolan.org Jenkins] (Automatic builds)
* [http://paste.videolan.org Pasteboard]
+
* [[Nightly build]]s
* [http://mirrors.videolan.org Download mirrors integritylist]
+
* 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])
* [http://planet.videolan.org Developer weblog]
+
* [https://code.videolan.org/ code.videolan.org]
* [http://buildbot.videolan.org Buildbot]
+
* [https://git.videolan.org/ git.videolan.org]
  
<!-- At the moment, all information is available from here : http://developers.videolan.org/vlc/ -->
+
== Current technical discussions on VLC ==
 +
* [[Usability Complaints]]
 +
* [[WaylandIntegration|Wayland integration]]
  
|width="60%" class="MainPageBG" style="border: 1px solid #c6c9ff; color: #000; background-color: #f0f0ff"|
+
=== Past discussions ===
 
+
* [[VoutRework|Vout Rework]] - improving the video output subsystem.
=== Joining us ===
+
* [[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.
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.
 +
** [[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