Difference between revisions of "VLC Developers Corner"

From VideoLAN Wiki
Jump to navigation Jump to search
m (typo)
 
(83 intermediate revisions by 4 users not shown)
Line 1: Line 1:
__NOTOC__ __NOEDITSECTION__ <!-- Beginning of header section -->  
+
__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 -->
  
{| style="width: 100%; margin-top: 0.7em; background-color: rgb(252, 252, 252); border: 1px solid rgb(204, 204, 204);"
+
== Coding on VLC ==
|-
+
* [[Getting Started At Coding|Get started at coding on VLC]]
| style="width: 56%; color: rgb(0, 0, 0);" |
+
* Get the [[GetTheSource|Source Code]] and [[Compile VLC]]
{| style="width: 280px; border: 0px solid; background: none repeat scroll 0% 0% transparent;"
+
* You might be interested in our [[Mini Projects]] or [[GCodeIn_Ideas|Janitorial projects]]
|-
+
* Read our [[Hacker_Guide|Hacker's Guide]]
| style="width: 280px; text-align: center; white-space: nowrap; color: rgb(0, 0, 0);" | <div style="font-size: 162%; border: medium none; margin: 0pt; padding: 0.1em; color: rgb(0, 0, 0);">Welcome to [[Developers Corner|VideoLAN Developers Corner]],</div> <div style="top: 0.2em; font-size: 95%;">This is a directory of everything to do with the development of VideoLAN's projects.<br>
+
** [[Hacker_Guide/Core|Introduction to VLC's core]]
Check [[VLC|VLC's page]] to get info on VLC.
+
** [[Hacker Guide/How To Write a Module|How to write a module]]
</div> <div style="width: 100%; text-align: center; font-size: 85%;" id="articlecount">[[Special:Statistics|{{NUMBEROFARTICLES}}]] articles</div>
+
** [[Documentation:VLC_Modules_Loading|How VLC modules load]]
|}
+
* [https://www.videolan.org/developers/vlc/doc/doxygen/html/ Code documentation]
 +
* [[Code Conventions]]
  
| valign="top" style="width: 11%; font-size: 95%; color: rgb(0, 0, 0);" |
+
=== VLC development links ===
*[[VideoLAN|VideoLAN]]  
+
* [https://code.videolan.org/videolan/vlc/-/issues/ GitLab] list of bugs
*[[VLC|VLC media player]]  
+
* vlc-devel [https://www.videolan.org/developers/lists.html mailing list], mailing list.
*[[Documentation:Documentation|Documentation]]  
+
* [https://www.videolan.org/developers/i18n/ Translation information and stats]
*[[VideoLAN Sites#Developers|Developers' Websites]]
+
* [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]
  
| valign="top" style="width: 14%; font-size: 95%;" |
+
== Current technical discussions on VLC ==
*[http://developers.videolan.org Main Developers Site]  
+
* [[Usability Complaints]]
*[http://nightlies.videolan.org Nightly builds]  
+
* [[WaylandIntegration|Wayland integration]]
*[http://buildbot.videolan.org Buildbot for Automatic Builds]
 
  
| valign="top" style="width: 18%; font-size: 95%;" |
+
=== Past discussions ===
*[http://trac.videolan.org Trac, bugs, features, roadmap]  
+
* [[VoutRework|Vout Rework]] - improving the video output subsystem.
*[http://mirrors.videolan.org Mirrors check]  
+
* [[telnet rc rewrite]] - Merging the "telnet" and "rc" controls.
*[ftp://ftp.videolan.org/pub/videolan/ Main FTP]
+
* [[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.
 +
** [[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 ===
<!-- end of the header section -->
+
* [[WebsiteRedesign|Website Redesign]] and [[WebsiteDesign|Design Proposals]]
{|
+
* [[DefaultSkinRequirements|Default Skin Requirements]] - Specifications of an eligible skin for default skin.
|- valign="top"
 
| width="30%" valign="top" | <div style="color: rgb(0, 0, 0); background-color: rgb(245, 255, 250); border: 1px solid rgb(206, 223, 242); padding: 10px; margin: 6px;">
 
== Build VLC media player ==
 
  
Check the [http://www.videolan.org/developers/vlc/NEWS Changelog].
+
[[Category:Development]]
 
 
Check the [[Compile VLC|generic compile HOWTO]].
 
 
 
To build VLC, you first need to get the [[GetTheSource|Source Code]].
 
 
 
*[[Win32Compile|How to compile for Windows]] ([[Win32CompileMSYSNew|MSYS]], [[Win32CompileCygwinNew|Cygwin]])
 
*[[OSXCompile|How to compile on Mac OS X]]
 
*[[UnixCompile|How to compile on Unix/Linux]]
 
*[[ARM-XCompile|How to cross-compile for ARM]]
 
*[[BeOSCompile|How to compile on BeOS (outdated)]]
 
*
 
 
 
*[[OutOfTreeCompile|How to compile a module outside of VLC source tree]]
 
*[[DirectFB Compile|Compile DirectFB plugin]]
 
*[[Contrib Status|Contrib Status]] - 3rd party libraries status.
 
*[[Packagers|Links to the packaging in various distros]]
 
</div>
 
<br>
 
<div style="color: rgb(0, 0, 0); background-color: rgb(245, 255, 250); border: 1px solid rgb(163, 191, 177); padding: 10px; margin: 6px; float: left;">
 
== Build an application on libVLC ==
 
 
 
There are several ways to build an application that uses VLC. Some are listed here.
 
 
 
*Build a GPL application using [[Libvlc]], in C/C++/[[C Sharp|C#]]
 
*Use the [[Python bindings]] [[MediaControlIDL]]
 
*Use the [[Java bindings]]
 
*Use the [[ActiveX Controls]]
 
*Use the [[JavaScript API]]
 
*Talk to VLC through the [[DBus]] communication
 
</div>
 
| width="35%" valign="top" rowspan="1" | <div style="margin: 12px 6px 6px; border: 1px solid rgb(255, 168, 211); background-color: rgb(255, 236, 245); color: rgb(0, 0, 0); padding: 10px;">
 
== Code VLC ==
 
 
 
=== Start coding on VLC  ===
 
 
 
*[[Getting Started At Coding|Get started at coding on VLC]].
 
*You might be interested in our [[Mini Projects|Mini Projects]], which are some easy tasks that do not require a lot of VLC Code Knowledge.
 
*It is recommended that you join the vlc-devel [http://developers.videolan.org/lists.html mailing list], where all commits are archived.
 
 
 
=== VLC Code  ===
 
 
 
*[[Unicode and Strings]]
 
*[[Code Conventions]]
 
*[[Documentation:Hacker's Guide|Hacker's Guide]]
 
*[http://www.videolan.org/developers/vlc/doc/doxygen/html/ Code documentation]
 
*[[VLC variables help]]
 
 
 
<br>
 
 
 
=== Tools to code VLC  ===
 
 
 
*[[Contrib Status|Contrib Status]] - Contrib Libraries Status
 
*[http://trac.videolan.org/vlc Trac] list of bugs, todo's and history of commits.
 
*[https://bugs.launchpad.net/distros/ubuntu/+source/vlc/+bugs VLC bugs in Ubuntu]
 
*[http://www.videolan.org/developers/i18n/ Translation information and stats]
 
*[http://cia.navi.cx/stats/project/vlc CIA commit statistics]
 
*[http://vlc.pastebin.com Pasteboard]
 
*[http://buildbot.videolan.org Buildbot]
 
*[http://planet.videolan.org Developer weblog]
 
*[[Nightly Build|Nightly Builds]]
 
</div>
 
| width="35%" valign="top" rowspan="1" | <div style="border: 1px solid rgb(242, 224, 206); color: rgb(0, 0, 0); background-color: rgb(255, 250, 245); padding: 10px; margin: 6px;">
 
== Development discussions under work ==
 
 
 
== Current Development  ==
 
 
 
[[Next changes|Changes in the current version]]
 
 
 
== Current discussions  ==
 
 
 
*[[VoutRework|Vout Rework]] - improving the video output subsystem.
 
*[[Telnet rc rewrite]] - Merging the "telnet" and "rc" controls.
 
 
 
*[[Usability Complaints]]
 
 
 
=== Design  ===
 
 
 
*[[DefaultSkinRequirements|Default Skin Requirements]] - Specifications of an eligible skin for default skin.
 
 
 
== Past discussions  ==
 
 
 
*[[DBus-spec]] - Specification for a Common, Desktop neutral, Media Player D-Bus interface.
 
*[[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.
 
*[[StatsSystem|Stats Sytem]]
 
*[[Browser Plugin Spec]]
 
*[[0.9.0PlaylistTODO|0.9.0 Playlist TODO]] - Major changes in the upcoming version
 
*[[InteractionSystem]] - Interaction System
 
*[[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.8.5StringReview]]
 
*[[2005StringsReview]]
 
 
 
=== Design  ===
 
 
 
*[[WebsiteRedesign|Website Redesign]] and [[WebsiteDesign|Design Proposals]]
 
</div>
 
<br>
 
<div style="color: rgb(0, 0, 0); background-color: rgb(245, 255, 250); border: 1px solid rgb(163, 191, 177); padding: 10px; margin: 6px; float: left;">
 
== VideoLAN's Administration ==
 
 
 
*[[Bugday|VideoLAN bugdays]]
 
*[[Calendar|VideoLAN calendar]]
 
*[[Admin TODO]]
 
*[[Skanda migration]]
 
*[[VideoLAN Servers]]
 
*[[Add a skin|How to add a skin on the skins download page]]
 
*[http://mirrors.videolan.org Download mirrors integrity tests]
 
 
 
=== Wiki Admins  ===
 
 
 
*[{{SERVER}}/Special:Listusers?group=sysop Admins list]
 
*[[SpamBlacklist]]
 
*[[VideoLAN Wiki:TODO|TODO]]
 
</div>
 
<br>
 
 
 
|}
 

Latest revision as of 19:45, 7 December 2023

Coding on VLC

VLC development links

Current technical discussions on VLC

Past discussions

Design