<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jpeg</id>
	<title>VideoLAN Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.videolan.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jpeg"/>
	<link rel="alternate" type="text/html" href="https://wiki.videolan.org/Special:Contributions/Jpeg/"/>
	<updated>2026-11-04T15:39:37Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.11</generator>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=User:Jpeg&amp;diff=17514</id>
		<title>User:Jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=User:Jpeg&amp;diff=17514"/>
		<updated>2010-11-07T14:50:59Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Jean-Philippe Andre.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
You can contact me by mail at: jpeg _at_ videolan _dot_ org&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=GCodeIn_Ideas&amp;diff=17513</id>
		<title>GCodeIn Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=GCodeIn_Ideas&amp;diff=17513"/>
		<updated>2010-11-07T14:49:26Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: /* VLC Songkick extension */ jpeg page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Code In =&lt;br /&gt;
&lt;br /&gt;
This page is about gathering &#039;&#039;&#039;ideas&#039;&#039;&#039; for the VideoLAN project for acceptance in the [http://code.google.com/opensource/gci/2010-11/index.html Google Code In 2010-2011] program.&lt;br /&gt;
&lt;br /&gt;
VideoLAN has been part of [http://code.google.com/soc/ Google Summer of Code] in [[SoC_2007|2007]], [[SoC_2008|2008]], [[SoC_2009|2009]] and [[SoC_2010|2010]].&lt;br /&gt;
&lt;br /&gt;
= Ideas for VideoLAN =&lt;br /&gt;
&lt;br /&gt;
== Warning ==&lt;br /&gt;
This is a temporary page for listing ideas for Google Code-in tasks. &lt;br /&gt;
&lt;br /&gt;
The final tasks will be moved to melange, when needed.&lt;br /&gt;
&lt;br /&gt;
== VideoLAN Communication ==&lt;br /&gt;
&lt;br /&gt;
=== Wiki Orphans and Double tracking ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Documentation &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: The wiki has way too many [[Special:LonelyPages|orphaned pages]] and [[Special:DoubleRedirects| double redirected pages]], they should be linked by other pages or marked for deletion, and redirects should be fixed&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: A better wiki with less orphaned pages or redirects &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: a wiki account&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 4hours &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Xtophe|xtophe]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Wiki short pages tracking ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Documentation &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: The wiki has too many [[Special:ShortPages|short pages]], they should be improved, marked for deletion or merged with other pages &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: A better wiki with less short pages &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: a wiki account&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 4hours &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Xtophe|xtophe]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN flyer/poster ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Outreach &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: The VideoLAN project needs a flyer for promotional matters &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: A cool A5-sized flyer presenting VideoLAN &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: Image-Editing software&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 3days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Jpsaman|Jean-Paul Saman]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Forum improvements ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Research and Outreach &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: The VideoLAN [http://forum.videolan.org forums] have many shortcomings, especially regarding spam and &amp;quot;Solved topics&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
We need research on solutions and advise us how we can improve the forums &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: small report on ideas, advice and solution&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: Browser and Text editor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 3days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: VLC_help &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN PHP webpage for file uploading for bugreports ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: The VideoLAN project needs a small WebPage in PHP to be able to upload the files for the bugreports&amp;lt;br&amp;gt;&lt;br /&gt;
As some of those files are big, some progression bar should be done in Javascript too &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: a working deployed PHP script&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: PHP development environment&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 5days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: etix &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VLC ==&lt;br /&gt;
=== Create VLC videos for training ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Training &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creation of youtube Videos of screencasts of VLC usage&amp;lt;br&amp;gt;&lt;br /&gt;
This task can be divided in chunks of 5 videos &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: VLC Youtube channels &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: VLC, screencast recorders&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 2 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:linkfanel|linkfanel]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC documentation illustration ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Documentation &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creation of VLC screenshots and small diagrams to improve the VLC documentation on the wiki&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: VLC illustrations on the documentation &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: VLC, Image Editing software&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 5 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:ivoire|Rémi Duraffort]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC users survey creation ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Outreach &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creation of a survey for VLC users, about their usage of VLC, that we will put on the website &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Survey ready to be sent to the VLC users &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: text editor and web browser&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 5 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:J-b|jb]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC fullscreen controller redesign ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: User Interface &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Find ideas to improve and redesign the fullscreen controller of the VLC version on Windows/Linux &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Sketchs and ideas for the fullscreen controller &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: web browser and image editor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 5 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:J-b|jb]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC volume controller redesign ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: User Interface &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Find ideas to improve and redesign the volume controller of the VLC version on Windows/Linux &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Sketchs and ideas for the volume controller&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: web browser and image editor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 3 weeks &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:J-b|jb]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC Lyrics extension ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creation of one extension in lua that can be able to fetch and display Lyrics from one website API&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Working Lua Lyrics extension script &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: text editor and VLC &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 10 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Jpeg|jpeg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC Songkick extension ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creating one extension in lua that can be able to fetch and display Lyrics from Songkick API&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Working Lua Songkick extension script &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: text editor and VLC &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 10 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Jpeg|jpeg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC webplugin testpages ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: This task is about updating the Html/CSS/JS scripting test pages for the [[Documentation:WebPlugin|Webplugins]]. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Usable pages for testing the VLC webplugins &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: text editor and a browser&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 10 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Jpsaman|Jean-Paul Saman]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC warnings cleanup ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: This has for objective to delete a lot of warnings in C and C++ code when doing VLC compilation for Linux and Windows.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Less warnings in C and C++ code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: text editor and compilation toolchain&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 10 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:ivoire|Rémi Duraffort]]  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libVLC Qt example media player ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creating a small example of how to create a media player based on libVLC and Qt on Windows/Linux.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: a cool media player to demonstrate the libVLC API in Qt &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: complete compilation toolchain&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 15 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: pdherbemont &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libVLC Gtk example media player ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creating a small example of how to create a media player based on libVLC and Gtk on Windows/Linux.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: a cool media player to demonstrate the libVLC API in Gtk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: complete compilation toolchain&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 15 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: pdherbemont &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libVLC wxWidgets example media player ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creating a small example of how to create a media player based on libVLC and wxWidgets on Windows/Linux.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: a cool media player to demonstrate the libVLC API in wxWidgets &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: complete compilation toolchain&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 15 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: pdherbemont &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VLMC ==&lt;br /&gt;
&lt;br /&gt;
=== Create VLMC videos for training ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Training &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creation of youtube Videos of screencasts of VLMC usage&amp;lt;br&amp;gt;&lt;br /&gt;
This task can be divided in chunks of 3 videos &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: VLMC Youtube channels &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: VLMC, screencasting tools&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 3 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:etix|etix]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLMC UI testing ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Quality Assurance &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Testing VLMC Interface and testing all dialogs and options to find bugs&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Bugreports &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: VLMC &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 3 days&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Hugo &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLMC files testing ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Quality Assurance&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Testing VLMC for Windows or Linux with many file formats &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Bug reports on the forum that don&#039;t work &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: VLMC, mediainfo, Windows/Linux &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 7 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Hugo &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For ANY question, contact [[User:J-b|jb]] or [[User:xtophe|xtophe]]&lt;br /&gt;
&lt;br /&gt;
IRC channel: #videolan or irc://irc.freenode.net&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=GCodeIn_Ideas&amp;diff=17512</id>
		<title>GCodeIn Ideas</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=GCodeIn_Ideas&amp;diff=17512"/>
		<updated>2010-11-07T14:49:04Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: /* VLC Lyrics extension */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Google Code In =&lt;br /&gt;
&lt;br /&gt;
This page is about gathering &#039;&#039;&#039;ideas&#039;&#039;&#039; for the VideoLAN project for acceptance in the [http://code.google.com/opensource/gci/2010-11/index.html Google Code In 2010-2011] program.&lt;br /&gt;
&lt;br /&gt;
VideoLAN has been part of [http://code.google.com/soc/ Google Summer of Code] in [[SoC_2007|2007]], [[SoC_2008|2008]], [[SoC_2009|2009]] and [[SoC_2010|2010]].&lt;br /&gt;
&lt;br /&gt;
= Ideas for VideoLAN =&lt;br /&gt;
&lt;br /&gt;
== Warning ==&lt;br /&gt;
This is a temporary page for listing ideas for Google Code-in tasks. &lt;br /&gt;
&lt;br /&gt;
The final tasks will be moved to melange, when needed.&lt;br /&gt;
&lt;br /&gt;
== VideoLAN Communication ==&lt;br /&gt;
&lt;br /&gt;
=== Wiki Orphans and Double tracking ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Documentation &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: The wiki has way too many [[Special:LonelyPages|orphaned pages]] and [[Special:DoubleRedirects| double redirected pages]], they should be linked by other pages or marked for deletion, and redirects should be fixed&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: A better wiki with less orphaned pages or redirects &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: a wiki account&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 4hours &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Xtophe|xtophe]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Wiki short pages tracking ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Documentation &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: The wiki has too many [[Special:ShortPages|short pages]], they should be improved, marked for deletion or merged with other pages &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: A better wiki with less short pages &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: a wiki account&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 4hours &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Xtophe|xtophe]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN flyer/poster ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Outreach &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: The VideoLAN project needs a flyer for promotional matters &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: A cool A5-sized flyer presenting VideoLAN &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: Image-Editing software&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 3days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Jpsaman|Jean-Paul Saman]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN Forum improvements ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Research and Outreach &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: The VideoLAN [http://forum.videolan.org forums] have many shortcomings, especially regarding spam and &amp;quot;Solved topics&amp;quot;&amp;lt;br&amp;gt;&lt;br /&gt;
We need research on solutions and advise us how we can improve the forums &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: small report on ideas, advice and solution&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: Browser and Text editor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 3days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: VLC_help &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VideoLAN PHP webpage for file uploading for bugreports ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: The VideoLAN project needs a small WebPage in PHP to be able to upload the files for the bugreports&amp;lt;br&amp;gt;&lt;br /&gt;
As some of those files are big, some progression bar should be done in Javascript too &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: a working deployed PHP script&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: PHP development environment&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 5days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: etix &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VLC ==&lt;br /&gt;
=== Create VLC videos for training ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Training &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creation of youtube Videos of screencasts of VLC usage&amp;lt;br&amp;gt;&lt;br /&gt;
This task can be divided in chunks of 5 videos &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: VLC Youtube channels &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: VLC, screencast recorders&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 2 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:linkfanel|linkfanel]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC documentation illustration ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Documentation &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creation of VLC screenshots and small diagrams to improve the VLC documentation on the wiki&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: VLC illustrations on the documentation &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: VLC, Image Editing software&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 5 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:ivoire|Rémi Duraffort]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC users survey creation ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Outreach &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creation of a survey for VLC users, about their usage of VLC, that we will put on the website &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Survey ready to be sent to the VLC users &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: text editor and web browser&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 5 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:J-b|jb]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC fullscreen controller redesign ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: User Interface &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Find ideas to improve and redesign the fullscreen controller of the VLC version on Windows/Linux &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Sketchs and ideas for the fullscreen controller &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: web browser and image editor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 5 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:J-b|jb]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC volume controller redesign ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: User Interface &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Find ideas to improve and redesign the volume controller of the VLC version on Windows/Linux &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Sketchs and ideas for the volume controller&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: web browser and image editor&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 3 weeks &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:J-b|jb]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC Lyrics extension ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creation of one extension in lua that can be able to fetch and display Lyrics from one website API&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Working Lua Lyrics extension script &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: text editor and VLC &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 10 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Jpeg|jpeg]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC Songkick extension ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creating one extension in lua that can be able to fetch and display Lyrics from Songkick API&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Working Lua Songkick extension script &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: text editor and VLC &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 10 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: jpeg &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC webplugin testpages ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: This task is about updating the Html/CSS/JS scripting test pages for the [[Documentation:WebPlugin|Webplugins]]. &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Usable pages for testing the VLC webplugins &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: text editor and a browser&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 10 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:Jpsaman|Jean-Paul Saman]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC warnings cleanup ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: This has for objective to delete a lot of warnings in C and C++ code when doing VLC compilation for Linux and Windows.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Less warnings in C and C++ code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: text editor and compilation toolchain&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 10 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:ivoire|Rémi Duraffort]]  &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libVLC Qt example media player ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creating a small example of how to create a media player based on libVLC and Qt on Windows/Linux.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: a cool media player to demonstrate the libVLC API in Qt &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: complete compilation toolchain&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 15 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: pdherbemont &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libVLC Gtk example media player ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creating a small example of how to create a media player based on libVLC and Gtk on Windows/Linux.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: a cool media player to demonstrate the libVLC API in Gtk &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: complete compilation toolchain&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 15 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: pdherbemont &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== libVLC wxWidgets example media player ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Code &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creating a small example of how to create a media player based on libVLC and wxWidgets on Windows/Linux.&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: a cool media player to demonstrate the libVLC API in wxWidgets &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: hard &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: complete compilation toolchain&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 15 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: pdherbemont &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== VLMC ==&lt;br /&gt;
&lt;br /&gt;
=== Create VLMC videos for training ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Training &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Creation of youtube Videos of screencasts of VLMC usage&amp;lt;br&amp;gt;&lt;br /&gt;
This task can be divided in chunks of 3 videos &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: VLMC Youtube channels &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: VLMC, screencasting tools&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 3 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: [[User:etix|etix]] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLMC UI testing ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Quality Assurance &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Testing VLMC Interface and testing all dialogs and options to find bugs&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Bugreports &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: easy&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: VLMC &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 3 days&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Hugo &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLMC files testing ===&lt;br /&gt;
&#039;&#039;&#039;Category&#039;&#039;&#039;: Quality Assurance&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Description&#039;&#039;&#039;: Testing VLMC for Windows or Linux with many file formats &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Outcome&#039;&#039;&#039;: Bug reports on the forum that don&#039;t work &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Difficulty&#039;&#039;&#039;: medium &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Tools&#039;&#039;&#039;: VLMC, mediainfo, Windows/Linux &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Time&#039;&#039;&#039;: 7 days &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Mentor&#039;&#039;&#039;: Hugo &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Contact ==&lt;br /&gt;
For ANY question, contact [[User:J-b|jb]] or [[User:xtophe|xtophe]]&lt;br /&gt;
&lt;br /&gt;
IRC channel: #videolan or irc://irc.freenode.net&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=User:Jpeg&amp;diff=17511</id>
		<title>User:Jpeg</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=User:Jpeg&amp;diff=17511"/>
		<updated>2010-11-07T14:46:32Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: Created page with &amp;#039;My name is Jean-Philippe Andre. You can contact me by mail at: jpeg _at_ videolandotorg&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;My name is Jean-Philippe Andre.&lt;br /&gt;
You can contact me by mail at: jpeg _at_ videolandotorg&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=LibVLC_Tutorial_086c&amp;diff=16870</id>
		<title>LibVLC Tutorial 086c</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=LibVLC_Tutorial_086c&amp;diff=16870"/>
		<updated>2010-07-29T04:31:39Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: /* Compile/link */ cosmetics&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Tutorial for libVLC for version 0.8.6c ===&lt;br /&gt;
&lt;br /&gt;
Tested on cygwin with gcc 3.4, windows xp; instructions also for linux with small code change.&lt;br /&gt;
You will want to change the plugin path to where you actually have vlc installed.  And you will want to change the video filename to one which actually exists on your system.  This will initialize vlc and play the video for ten seconds.  After you get this to work, then you will want to look up the external API documentation to see how to use the other interfaces.  Note there are two interfaces documented in the &lt;br /&gt;
external API page; the first one is the &amp;quot;old&amp;quot; legacy one using calls such as VLC_Init.  The second one&lt;br /&gt;
is the &amp;quot;current&amp;quot; one using calls such as libvlc_new, which is used in the following code.&lt;br /&gt;
&lt;br /&gt;
=== Code ===&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;windows.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vlc/libvlc.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 static void quit_on_exception (libvlc_exception_t *excp) {&lt;br /&gt;
    if (libvlc_exception_raised (excp)) {&lt;br /&gt;
       fprintf(stderr, &amp;quot;error: %s\n&amp;quot;, libvlc_exception_get_message(excp));&lt;br /&gt;
       exit(-1);&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char **argv) {&lt;br /&gt;
    libvlc_exception_t excp;&lt;br /&gt;
    libvlc_instance_t *inst;&lt;br /&gt;
    int item;&lt;br /&gt;
    char *myarg0 = &amp;quot;-I&amp;quot;;  char *myarg1 = &amp;quot;dummy&amp;quot;;&lt;br /&gt;
    char *myarg2 = &amp;quot;--plugin-path=c:\\program files\\videolan\\plugins&amp;quot;;&lt;br /&gt;
    char *myargs[4] = {myarg0, myarg1, myarg2, NULL};&lt;br /&gt;
    char *filename = &amp;quot;c:\\video\\main\\Everybody_Hates_Chris_Feb_26.mpg&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    libvlc_exception_init (&amp;amp;excp);&lt;br /&gt;
    inst = libvlc_new (3, myargs, &amp;amp;excp);&lt;br /&gt;
    quit_on_exception (&amp;amp;excp);&lt;br /&gt;
    item = libvlc_playlist_add (inst, filename, NULL, &amp;amp;excp); &lt;br /&gt;
    quit_on_exception (&amp;amp;excp);&lt;br /&gt;
    libvlc_playlist_play (inst, item, 0, NULL, &amp;amp;excp); &lt;br /&gt;
    quit_on_exception (&amp;amp;excp);&lt;br /&gt;
    Sleep (10000);&lt;br /&gt;
    libvlc_destroy (inst);&lt;br /&gt;
    return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
=== Compile/link ===&lt;br /&gt;
&lt;br /&gt;
You can use LibVLC without compiling your own copy of the VLC source code.  You can use the libvlc.dll which comes in the standard end user installation.  But, to access the include files, you will need to download and extract the source code.  You only need to untar it; you do not even need to run the configure script.  &lt;br /&gt;
Set your %PATH% to include the directory which contains libvlc.dll and the plugins directory.  For example, add &amp;quot;C:\Program files\VideoLAN\VLC&amp;quot; in a relatively standard installation.  This way the compiler can find libvlc.dll.  Otherwise you have to copy the dll to your current directory.  &lt;br /&gt;
Use the following Makefile:&lt;br /&gt;
&lt;br /&gt;
 VLC_INST = &amp;quot;C:\Program files\VideoLAN\VLC&amp;quot;&lt;br /&gt;
 VLC_SRC = &amp;quot;C:\tools\vlc-0.8.6c\&amp;quot;&lt;br /&gt;
 demo: demo.c&lt;br /&gt;
    gcc -o demo demo.c -I$(VLC_SRC)/include \&lt;br /&gt;
    -L$(VLC_INST) -llibvlc&lt;br /&gt;
&lt;br /&gt;
=== Code for Linux ===&lt;br /&gt;
&lt;br /&gt;
 #include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
 #include &amp;lt;vlc/libvlc.h&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 static void quit_on_exception (libvlc_exception_t *excp) {&lt;br /&gt;
    if (libvlc_exception_raised (excp)) {&lt;br /&gt;
       fprintf(stderr, &amp;quot;error: %s\n&amp;quot;, libvlc_exception_get_message(excp));&lt;br /&gt;
       exit(-1);&lt;br /&gt;
    }&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int main(int argc, char **argv) {&lt;br /&gt;
    libvlc_exception_t excp;&lt;br /&gt;
    libvlc_instance_t *inst;&lt;br /&gt;
    int item;&lt;br /&gt;
    char *filename = &amp;quot;/tmp/WorldOfPadman_Intro.avi&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
    libvlc_exception_init (&amp;amp;excp);&lt;br /&gt;
    inst = libvlc_new (argc, argv, &amp;amp;excp);&lt;br /&gt;
    quit_on_exception (&amp;amp;excp);&lt;br /&gt;
    item = libvlc_playlist_add (inst, filename, NULL, &amp;amp;excp); &lt;br /&gt;
    quit_on_exception (&amp;amp;excp);&lt;br /&gt;
    libvlc_playlist_play (inst, item, 0, NULL, &amp;amp;excp); &lt;br /&gt;
    quit_on_exception (&amp;amp;excp);&lt;br /&gt;
    usleep (10000000);&lt;br /&gt;
    libvlc_destroy (inst);&lt;br /&gt;
    return 0;&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
See [http://files.filefront.com/WorldOfPadman+Introavi/;6089800;/fileinfo.html] for &#039;&#039;WorldOfPadman_Intro.avi&#039;&#039;. (You can, of course, substitute any video you like.)&lt;br /&gt;
&lt;br /&gt;
=== Compile/Link/Run for Linux ===&lt;br /&gt;
&lt;br /&gt;
 $ export VLC_SRC=/tmp/vlc-0.8.6c&lt;br /&gt;
 $ gcc -I ${VLC_SRC}/include/ -lvlc -L ${VLC_SRC}/src/.libs/ demo.c -o demo&lt;br /&gt;
 $ export LD_LIBRARY_PATH=${VLC_SRC}/src/.libs/ &lt;br /&gt;
 $ ./demo --plugin-path ${VLC_SRC}&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=User:J-b&amp;diff=13377</id>
		<title>User:J-b</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=User:J-b&amp;diff=13377"/>
		<updated>2009-02-15T06:08:33Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: /* Get VLC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== General presentation ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hello!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
My name is &#039;&#039;&#039;Jean-Baptiste Kempf&#039;&#039;&#039; and [http://www.jbkempf.com my personnal website] explains more who I am and what I do.&lt;br /&gt;
I graduated in one of the best &#039;Grandes Ecoles&#039;, best scientific schools and universities in France: the &#039;&#039;[http://www.ecp.fr &amp;quot;Ecole Centrale Paris&amp;quot;]&#039;&#039;. &lt;br /&gt;
&lt;br /&gt;
I also got a &#039;&#039;Master Degree&#039;&#039; in Computer Science from the University of Paris.&lt;br /&gt;
&lt;br /&gt;
My degree &#039;&#039;&amp;quot;Ingénieur de l&#039;école Centrale Paris&amp;quot;&#039;&#039;, which is also a Master Degree.&lt;br /&gt;
&lt;br /&gt;
I am now a scientific attaché at the French Consulate in San Francisco.&lt;br /&gt;
&lt;br /&gt;
I am working on the VideoLAN project in many aspects for about a year now and I am very much involved, but not only on the devs aspects. &lt;br /&gt;
&lt;br /&gt;
As a dev, I mostly program Qt4 interface. I also work a lot on contribs and external libraries and [[FourCC]] supports. I have built VLC media player on most possible platform (no BeOS, though).&lt;br /&gt;
&lt;br /&gt;
As a non-dev, I moderate e-mails, worked a lot on this wiki (almost rewritten it with [[User:H2g2bob]]), answer forums and mails, work on the websites and help on IRC. As you can imagine, I do a lot of support.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I am looking for a job, outside France. Interested? :D&lt;br /&gt;
&lt;br /&gt;
jb (at) videolan (d0t) org is my mail, related to VideoLAN.&lt;br /&gt;
[http://www.jbkempf.com My Website] (far from being finished) is my website.&lt;br /&gt;
&lt;br /&gt;
Use my talk page to talk to me or give me some TODOs.&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
&lt;br /&gt;
I have rewritten a lot of pages on this wiki, and I have more than 1000 edits on this wiki.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Names ===&lt;br /&gt;
&lt;br /&gt;
I am know under &#039;j-b&#039;, &#039;jb&#039; on all the [[VideoLAN Sites]]&lt;br /&gt;
&lt;br /&gt;
== My VLC ==&lt;br /&gt;
This is my tips to help you build the best VLC ever. I use debian/sid, for many reasons.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== External libraries ===&lt;br /&gt;
apt-get build-dep vlc libdvdcss2&lt;br /&gt;
&lt;br /&gt;
=== Get VLC ===&lt;br /&gt;
&amp;lt;pre&amp;gt; git clone git://git.videolan.org/vlc.git&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; cd vlc; ./bootstrap &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; cd extras;&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== x264 (optional) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; git clone git://git.videolan.org/x264.git x264-trunk&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt; cd x264-trunk; make&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== live555 (optional) ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
wget http://www.live555.com/liveMedia/public/live555-latest.tar.gz&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
tar xvzf live555-latest.tar.gz&lt;br /&gt;
cd live&lt;br /&gt;
&lt;br /&gt;
sh genMakefiles linux;&lt;br /&gt;
make&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== ffmpeg (mandatory) ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
cd vlc-trunk/extras&lt;br /&gt;
svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg&lt;br /&gt;
cd ffmpeg&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== ffmpeg configure line ====&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure --enable-gpl --enable-pthreads --enable-libmp3lame --enable-libfaac&amp;lt;/pre&amp;gt;&lt;br /&gt;
&amp;lt;pre&amp;gt; make &amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== VLC configure line ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
./configure --prefix=/usr \&lt;br /&gt;
        --enable-snapshot --enable-debug \&lt;br /&gt;
        --enable-dbus-control --enable-musicbrainz \&lt;br /&gt;
        --enable-shared-libvlc --enable-mozilla \&lt;br /&gt;
        --enable-lirc \&lt;br /&gt;
        --enable-live555 --with-live555-tree=../extras/live \&lt;br /&gt;
        --with-ffmpeg-tree=../extras/ffmpeg \&lt;br /&gt;
        --enable-x264 --with-x264-tree=../extras/x264-trunk \&lt;br /&gt;
        --enable-shout --enable-taglib \&lt;br /&gt;
        --enable-v4l --enable-cddax \&lt;br /&gt;
        --enable-dvb --enable-vcdx \&lt;br /&gt;
        --enable-realrtsp --enable-xvmc \&lt;br /&gt;
        --enable-svg   --enable-dvdread \&lt;br /&gt;
        --enable-dc1394 --enable-dv \&lt;br /&gt;
        --enable-theora --enable-faad \&lt;br /&gt;
        --enable-twolame --enable-real \&lt;br /&gt;
        --enable-flac --enable-tremor \&lt;br /&gt;
        --with-ffmpeg-mp3lame --with-ffmpeg-faac \&lt;br /&gt;
        --enable-quicktime --enable-dirac \&lt;br /&gt;
        --enable-skins2 --enable-qt4 \&lt;br /&gt;
        --enable-ncurses \&lt;br /&gt;
        --enable-aa --enable-caca \&lt;br /&gt;
        --enable-esd --enable-portaudio \&lt;br /&gt;
        --enable-jack --enable-xosd \&lt;br /&gt;
        --enable-galaktos --enable-goom \&lt;br /&gt;
        --enable-ggi \&lt;br /&gt;
        --disable-cddax --disable-vcdx&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;make&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Ubuntu ==&lt;br /&gt;
apt-get build-dep vlc&lt;br /&gt;
&lt;br /&gt;
apt-get install libtool automake1.9&lt;br /&gt;
&lt;br /&gt;
ffmpeg.&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=XSPF&amp;diff=13227</id>
		<title>XSPF</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=XSPF&amp;diff=13227"/>
		<updated>2009-01-17T13:47:20Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: /* VLC Extensions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{website|XPSF|http://www.xspf.org/}}&lt;br /&gt;
&#039;&#039;&#039;XSPF&#039;&#039;&#039;, pronounced &amp;quot;spiff&amp;quot;, is a [[playlist]] in [[XML]] format, which is supported by [[Xiph]]. It is a free and open format so can be easily, freely used for sharing playlists.&lt;br /&gt;
&lt;br /&gt;
== Sample ==&lt;br /&gt;
A very simple document looks like this:&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;trackList&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_1.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_2.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_3.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
     &amp;lt;/trackList&amp;gt;&lt;br /&gt;
  &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compatability ==&lt;br /&gt;
{{compat}}&lt;br /&gt;
&lt;br /&gt;
== VLC Extensions ==&lt;br /&gt;
XSPF supports extensions to allow applications to add special data. These extensions can appear in the following entries:&lt;br /&gt;
* playlist&lt;br /&gt;
* track&lt;br /&gt;
&lt;br /&gt;
The extension format is defined in the namespace &amp;lt;code&amp;gt;xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;lt;/code&amp;gt;:&lt;br /&gt;
 &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot; xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
 &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently, extensions support the following elements:&lt;br /&gt;
* vlc:node&lt;br /&gt;
* vlc:item&lt;br /&gt;
* vlc:id&lt;br /&gt;
* vlc:option&lt;br /&gt;
&lt;br /&gt;
The extensions vlc:node and vlc:item are used to specify how to display the playlist tree, which is not supported by standard XSPF.&lt;br /&gt;
&lt;br /&gt;
=== vlc:node ===&lt;br /&gt;
This element will be displayed as a node in the playlist. It appears as an extension of the &#039;&#039;&#039;playlist&#039;&#039;&#039; block (under playlist/extension). Only its name can be specified:&lt;br /&gt;
 &amp;lt;vlc:node title=&amp;quot;Node title&amp;quot;&amp;gt;&lt;br /&gt;
  [list of vlc:item or vlc:node]&lt;br /&gt;
 &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vlc:item ===&lt;br /&gt;
This element represents a playlist item (not a node). It appears as an extension of the &#039;&#039;&#039;playlist&#039;&#039;&#039; block (under playlist/extension). It contains only a track id (see below, vlc:id):&lt;br /&gt;
 &amp;lt;vlc:item tid=&amp;quot;42&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vlc:id ===&lt;br /&gt;
This element specifies a track&#039;s id. It appears as an extension of the &#039;&#039;&#039;track&#039;&#039;&#039; block (under playlist/trackList/track/extension).&lt;br /&gt;
 &amp;lt;vlc:id&amp;gt;42&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
The value of the id corresponds to the value of the attribute tid of vlc:item.&lt;br /&gt;
&lt;br /&gt;
=== vlc:option ===&lt;br /&gt;
This element allows you to add options to the input item. It appears as an extension of the &#039;&#039;&#039;track&#039;&#039;&#039; block (under playlist/trackList/track/extension).&lt;br /&gt;
 &amp;lt;vlc:option&amp;gt;option-name&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
Or, if the option has a value:&lt;br /&gt;
 &amp;lt;vlc:option&amp;gt;option-name=option-value&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example of XSPF with VLC extensions ===&lt;br /&gt;
Let&#039;s summarize these as an example:&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot; xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;title&amp;gt;Playlist&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;location&amp;gt;D:/media/example.xspf&amp;lt;/location&amp;gt;&lt;br /&gt;
     &amp;lt;trackList&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 1&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;0&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 2&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;1&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 3&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;2&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 4&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;3&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:option&amp;gt;my-option=42&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
     &amp;lt;/trackList&amp;gt;&lt;br /&gt;
     &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;vlc:node title=&amp;quot;Node 1&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:item tid=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:item tid=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:node title=&amp;quot;Node 2&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:item tid=&amp;quot;2&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:item tid=&amp;quot;3&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
         &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
     &amp;lt;/extension&amp;gt;&lt;br /&gt;
 &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This playlist example will be displayed as:&lt;br /&gt;
 Playlist&lt;br /&gt;
 `- Node 1&lt;br /&gt;
    |- Track 1&lt;br /&gt;
    |- Track 2&lt;br /&gt;
    `- Node 2&lt;br /&gt;
       |- Track 3&lt;br /&gt;
       `- Track 4&lt;br /&gt;
&lt;br /&gt;
The input for &#039;&#039;Track 4&#039;&#039; will be created with the option &#039;&#039;my-option&#039;&#039; set to 42.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
There are many advantages to using XML as the format.&lt;br /&gt;
More information is available at&lt;br /&gt;
* [http://www.xiph.org/ Xiph.org]&lt;br /&gt;
* [http://www.xspf.org/quickstart/ XSPF project website].&lt;br /&gt;
&lt;br /&gt;
[[Category:Playlist]]&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=XSPF&amp;diff=13226</id>
		<title>XSPF</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=XSPF&amp;diff=13226"/>
		<updated>2009-01-17T13:46:27Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: /* vlc:item */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{website|XPSF|http://www.xspf.org/}}&lt;br /&gt;
&#039;&#039;&#039;XSPF&#039;&#039;&#039;, pronounced &amp;quot;spiff&amp;quot;, is a [[playlist]] in [[XML]] format, which is supported by [[Xiph]]. It is a free and open format so can be easily, freely used for sharing playlists.&lt;br /&gt;
&lt;br /&gt;
== Sample ==&lt;br /&gt;
A very simple document looks like this:&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;trackList&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_1.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_2.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_3.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
     &amp;lt;/trackList&amp;gt;&lt;br /&gt;
  &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compatability ==&lt;br /&gt;
{{compat}}&lt;br /&gt;
&lt;br /&gt;
== VLC Extensions ==&lt;br /&gt;
XSPF supports extensions to allow applications to add special data. These extensions can appear in the following entries:&lt;br /&gt;
* playlist&lt;br /&gt;
* track&lt;br /&gt;
&lt;br /&gt;
The extension format is defined in the namespace &amp;lt;code&amp;gt;xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;lt;/code&amp;gt;:&lt;br /&gt;
 &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot; xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
 &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently, extensions support the following elements:&lt;br /&gt;
* vlc:node&lt;br /&gt;
* vlc:item&lt;br /&gt;
* vlc:id&lt;br /&gt;
* vlc:option&lt;br /&gt;
&lt;br /&gt;
The extensions vlc:node and vlc:item are used to specify how to display the playlist tree, which is not supported by standard XSPF.&lt;br /&gt;
&lt;br /&gt;
=== vlc:node ===&lt;br /&gt;
This element will be displayed as a node in the playlist. It appears as an extension of the &#039;&#039;&#039;playlist&#039;&#039;&#039; block (under playlist/extension). Only its name can be specified:&lt;br /&gt;
 &amp;lt;vlc:node title=&amp;quot;Node title&amp;quot;&amp;gt;&lt;br /&gt;
  [list of vlc:item or vlc:node]&lt;br /&gt;
 &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vlc:item ===&lt;br /&gt;
This element represents a playlist item (not a node). It appears as an extension of the &#039;&#039;&#039;playlist&#039;&#039;&#039; block (under playlist/extension). It contains only a track id (see below, vlc:id):&lt;br /&gt;
 &amp;lt;vlc:item tid=&amp;quot;42&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vlc:id ===&lt;br /&gt;
This element specifies a track&#039;s id. It appears as an extension of the &#039;&#039;&#039;track&#039;&#039;&#039; block.&lt;br /&gt;
 &amp;lt;vlc:id&amp;gt;42&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
The value of the id corresponds to the value of the attribute tid of vlc:item.&lt;br /&gt;
&lt;br /&gt;
=== vlc:option ===&lt;br /&gt;
This element allows you to add options to the input item. It appears as an extension of the &#039;&#039;&#039;track&#039;&#039;&#039; block.&lt;br /&gt;
 &amp;lt;vlc:option&amp;gt;option-name&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
Or, if the option has a value:&lt;br /&gt;
 &amp;lt;vlc:option&amp;gt;option-name=option-value&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example of XSPF with VLC extensions ===&lt;br /&gt;
Let&#039;s summarize these as an example:&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot; xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;title&amp;gt;Playlist&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;location&amp;gt;D:/media/example.xspf&amp;lt;/location&amp;gt;&lt;br /&gt;
     &amp;lt;trackList&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 1&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;0&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 2&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;1&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 3&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;2&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 4&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;3&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:option&amp;gt;my-option=42&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
     &amp;lt;/trackList&amp;gt;&lt;br /&gt;
     &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;vlc:node title=&amp;quot;Node 1&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:item tid=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:item tid=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:node title=&amp;quot;Node 2&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:item tid=&amp;quot;2&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:item tid=&amp;quot;3&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
         &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
     &amp;lt;/extension&amp;gt;&lt;br /&gt;
 &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This playlist example will be displayed as:&lt;br /&gt;
 Playlist&lt;br /&gt;
 `- Node 1&lt;br /&gt;
    |- Track 1&lt;br /&gt;
    |- Track 2&lt;br /&gt;
    `- Node 2&lt;br /&gt;
       |- Track 3&lt;br /&gt;
       `- Track 4&lt;br /&gt;
&lt;br /&gt;
The input for &#039;&#039;Track 4&#039;&#039; will be created with the option &#039;&#039;my-option&#039;&#039; set to 42.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
There are many advantages to using XML as the format.&lt;br /&gt;
More information is available at&lt;br /&gt;
* [http://www.xiph.org/ Xiph.org]&lt;br /&gt;
* [http://www.xspf.org/quickstart/ XSPF project website].&lt;br /&gt;
&lt;br /&gt;
[[Category:Playlist]]&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=XSPF&amp;diff=13225</id>
		<title>XSPF</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=XSPF&amp;diff=13225"/>
		<updated>2009-01-17T13:46:09Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: /* vlc:node */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{website|XPSF|http://www.xspf.org/}}&lt;br /&gt;
&#039;&#039;&#039;XSPF&#039;&#039;&#039;, pronounced &amp;quot;spiff&amp;quot;, is a [[playlist]] in [[XML]] format, which is supported by [[Xiph]]. It is a free and open format so can be easily, freely used for sharing playlists.&lt;br /&gt;
&lt;br /&gt;
== Sample ==&lt;br /&gt;
A very simple document looks like this:&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;trackList&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_1.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_2.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_3.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
     &amp;lt;/trackList&amp;gt;&lt;br /&gt;
  &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compatability ==&lt;br /&gt;
{{compat}}&lt;br /&gt;
&lt;br /&gt;
== VLC Extensions ==&lt;br /&gt;
XSPF supports extensions to allow applications to add special data. These extensions can appear in the following entries:&lt;br /&gt;
* playlist&lt;br /&gt;
* track&lt;br /&gt;
&lt;br /&gt;
The extension format is defined in the namespace &amp;lt;code&amp;gt;xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;lt;/code&amp;gt;:&lt;br /&gt;
 &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot; xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
 &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently, extensions support the following elements:&lt;br /&gt;
* vlc:node&lt;br /&gt;
* vlc:item&lt;br /&gt;
* vlc:id&lt;br /&gt;
* vlc:option&lt;br /&gt;
&lt;br /&gt;
The extensions vlc:node and vlc:item are used to specify how to display the playlist tree, which is not supported by standard XSPF.&lt;br /&gt;
&lt;br /&gt;
=== vlc:node ===&lt;br /&gt;
This element will be displayed as a node in the playlist. It appears as an extension of the &#039;&#039;&#039;playlist&#039;&#039;&#039; block (under playlist/extension). Only its name can be specified:&lt;br /&gt;
 &amp;lt;vlc:node title=&amp;quot;Node title&amp;quot;&amp;gt;&lt;br /&gt;
  [list of vlc:item or vlc:node]&lt;br /&gt;
 &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vlc:item ===&lt;br /&gt;
This element represents a playlist item (not a node). It appears as an extension of the &#039;&#039;&#039;playlist&#039;&#039;&#039; block. It contains only a track id (see below, vlc:id):&lt;br /&gt;
 &amp;lt;vlc:item tid=&amp;quot;42&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vlc:id ===&lt;br /&gt;
This element specifies a track&#039;s id. It appears as an extension of the &#039;&#039;&#039;track&#039;&#039;&#039; block.&lt;br /&gt;
 &amp;lt;vlc:id&amp;gt;42&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
The value of the id corresponds to the value of the attribute tid of vlc:item.&lt;br /&gt;
&lt;br /&gt;
=== vlc:option ===&lt;br /&gt;
This element allows you to add options to the input item. It appears as an extension of the &#039;&#039;&#039;track&#039;&#039;&#039; block.&lt;br /&gt;
 &amp;lt;vlc:option&amp;gt;option-name&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
Or, if the option has a value:&lt;br /&gt;
 &amp;lt;vlc:option&amp;gt;option-name=option-value&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example of XSPF with VLC extensions ===&lt;br /&gt;
Let&#039;s summarize these as an example:&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot; xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;title&amp;gt;Playlist&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;location&amp;gt;D:/media/example.xspf&amp;lt;/location&amp;gt;&lt;br /&gt;
     &amp;lt;trackList&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 1&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;0&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 2&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;1&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 3&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;2&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 4&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;3&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:option&amp;gt;my-option=42&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
     &amp;lt;/trackList&amp;gt;&lt;br /&gt;
     &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;vlc:node title=&amp;quot;Node 1&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:item tid=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:item tid=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:node title=&amp;quot;Node 2&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:item tid=&amp;quot;2&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:item tid=&amp;quot;3&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
         &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
     &amp;lt;/extension&amp;gt;&lt;br /&gt;
 &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This playlist example will be displayed as:&lt;br /&gt;
 Playlist&lt;br /&gt;
 `- Node 1&lt;br /&gt;
    |- Track 1&lt;br /&gt;
    |- Track 2&lt;br /&gt;
    `- Node 2&lt;br /&gt;
       |- Track 3&lt;br /&gt;
       `- Track 4&lt;br /&gt;
&lt;br /&gt;
The input for &#039;&#039;Track 4&#039;&#039; will be created with the option &#039;&#039;my-option&#039;&#039; set to 42.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
There are many advantages to using XML as the format.&lt;br /&gt;
More information is available at&lt;br /&gt;
* [http://www.xiph.org/ Xiph.org]&lt;br /&gt;
* [http://www.xspf.org/quickstart/ XSPF project website].&lt;br /&gt;
&lt;br /&gt;
[[Category:Playlist]]&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=XSPF&amp;diff=13223</id>
		<title>XSPF</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=XSPF&amp;diff=13223"/>
		<updated>2009-01-15T14:03:30Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: VLC extensions in XSPF&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{website|XPSF|http://www.xspf.org/}}&lt;br /&gt;
&#039;&#039;&#039;XSPF&#039;&#039;&#039;, pronounced &amp;quot;spiff&amp;quot;, is a [[playlist]] in [[XML]] format, which is supported by [[Xiph]]. It is a free and open format so can be easily, freely used for sharing playlists.&lt;br /&gt;
&lt;br /&gt;
== Sample ==&lt;br /&gt;
A very simple document looks like this:&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
  &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;trackList&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_1.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_2.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&amp;lt;location&amp;gt;file:///mp3s/song_3.mp3&amp;lt;/location&amp;gt;&amp;lt;/track&amp;gt;&lt;br /&gt;
     &amp;lt;/trackList&amp;gt;&lt;br /&gt;
  &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Compatability ==&lt;br /&gt;
{{compat}}&lt;br /&gt;
&lt;br /&gt;
== VLC Extensions ==&lt;br /&gt;
XSPF supports extensions to allow applications to add special data. These extensions can appear in the following entries:&lt;br /&gt;
* playlist&lt;br /&gt;
* track&lt;br /&gt;
&lt;br /&gt;
The extension format is defined in the namespace &amp;lt;code&amp;gt;xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;lt;/code&amp;gt;:&lt;br /&gt;
 &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot; xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
  ...&lt;br /&gt;
  &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
   ...&lt;br /&gt;
  &amp;lt;/extension&amp;gt;&lt;br /&gt;
 &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Currently, extensions support the following elements:&lt;br /&gt;
* vlc:node&lt;br /&gt;
* vlc:item&lt;br /&gt;
* vlc:id&lt;br /&gt;
* vlc:option&lt;br /&gt;
&lt;br /&gt;
The extensions vlc:node and vlc:item are used to specify how to display the playlist tree, which is not supported by standard XSPF.&lt;br /&gt;
&lt;br /&gt;
=== vlc:node ===&lt;br /&gt;
This element will be displayed as a node in the playlist. It appears as an extension of the &#039;&#039;&#039;playlist&#039;&#039;&#039; block. Only its name can be specified:&lt;br /&gt;
 &amp;lt;vlc:node title=&amp;quot;Node title&amp;quot;&amp;gt;&lt;br /&gt;
  [list of vlc:item or vlc:node]&lt;br /&gt;
 &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vlc:item ===&lt;br /&gt;
This element represents a playlist item (not a node). It appears as an extension of the &#039;&#039;&#039;playlist&#039;&#039;&#039; block. It contains only a track id (see below, vlc:id):&lt;br /&gt;
 &amp;lt;vlc:item tid=&amp;quot;42&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== vlc:id ===&lt;br /&gt;
This element specifies a track&#039;s id. It appears as an extension of the &#039;&#039;&#039;track&#039;&#039;&#039; block.&lt;br /&gt;
 &amp;lt;vlc:id&amp;gt;42&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
The value of the id corresponds to the value of the attribute tid of vlc:item.&lt;br /&gt;
&lt;br /&gt;
=== vlc:option ===&lt;br /&gt;
This element allows you to add options to the input item. It appears as an extension of the &#039;&#039;&#039;track&#039;&#039;&#039; block.&lt;br /&gt;
 &amp;lt;vlc:option&amp;gt;option-name&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
Or, if the option has a value:&lt;br /&gt;
 &amp;lt;vlc:option&amp;gt;option-name=option-value&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Example of XSPF with VLC extensions ===&lt;br /&gt;
Let&#039;s summarize these as an example:&lt;br /&gt;
 &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
 &amp;lt;playlist version=&amp;quot;1&amp;quot; xmlns=&amp;quot;http://xspf.org/ns/0/&amp;quot; xmlns:vlc=&amp;quot;http://www.videolan.org/vlc/playlist/ns/0/&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;title&amp;gt;Playlist&amp;lt;/title&amp;gt;&lt;br /&gt;
     &amp;lt;location&amp;gt;D:/media/example.xspf&amp;lt;/location&amp;gt;&lt;br /&gt;
     &amp;lt;trackList&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 1&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;0&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 2&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;1&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 3&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;2&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
         &amp;lt;track&amp;gt;&lt;br /&gt;
             &amp;lt;title&amp;gt;Track 4&amp;lt;/title&amp;gt;&lt;br /&gt;
             ...&lt;br /&gt;
             &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:id&amp;gt;3&amp;lt;/vlc:id&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:option&amp;gt;my-option=42&amp;lt;/vlc:option&amp;gt;&lt;br /&gt;
             &amp;lt;/extension&amp;gt;&lt;br /&gt;
         &amp;lt;/track&amp;gt;&lt;br /&gt;
     &amp;lt;/trackList&amp;gt;&lt;br /&gt;
     &amp;lt;extension application=&amp;quot;http://www.videolan.org/vlc/playlist/0&amp;quot;&amp;gt;&lt;br /&gt;
         &amp;lt;vlc:node title=&amp;quot;Node 1&amp;quot;&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:item tid=&amp;quot;0&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:item tid=&amp;quot;1&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;vlc:node title=&amp;quot;Node 2&amp;quot;&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:item tid=&amp;quot;2&amp;quot; /&amp;gt;&lt;br /&gt;
                 &amp;lt;vlc:item tid=&amp;quot;3&amp;quot; /&amp;gt;&lt;br /&gt;
             &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
         &amp;lt;/vlc:node&amp;gt;&lt;br /&gt;
     &amp;lt;/extension&amp;gt;&lt;br /&gt;
 &amp;lt;/playlist&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This playlist example will be displayed as:&lt;br /&gt;
 Playlist&lt;br /&gt;
 `- Node 1&lt;br /&gt;
    |- Track 1&lt;br /&gt;
    |- Track 2&lt;br /&gt;
    `- Node 2&lt;br /&gt;
       |- Track 3&lt;br /&gt;
       `- Track 4&lt;br /&gt;
&lt;br /&gt;
The input for &#039;&#039;Track 4&#039;&#039; will be created with the option &#039;&#039;my-option&#039;&#039; set to 42.&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
There are many advantages to using XML as the format.&lt;br /&gt;
More information is available at&lt;br /&gt;
* [http://www.xiph.org/ Xiph.org]&lt;br /&gt;
* [http://www.xspf.org/quickstart/ XSPF project website].&lt;br /&gt;
&lt;br /&gt;
[[Category:Playlist]]&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=ActiveX/HTML&amp;diff=12531</id>
		<title>ActiveX/HTML</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=ActiveX/HTML&amp;diff=12531"/>
		<updated>2008-10-08T12:36:42Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: Fix &amp;lt;html&amp;gt; tag breaking the layout&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{howto| use the [[ActiveX]] control within a webpage}}&lt;br /&gt;
&lt;br /&gt;
==Embedding Activex using Javascript==&lt;br /&gt;
&lt;br /&gt;
You can insert the [[ActiveX]] control in your HTML pages like this :&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;OBJECT classid=&amp;quot;clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921&amp;quot;&lt;br /&gt;
     codebase=&amp;quot;http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab&amp;quot;&lt;br /&gt;
        width=&amp;quot;640&amp;quot; height=&amp;quot;480&amp;quot; id=&amp;quot;vlc&amp;quot; events=&amp;quot;True&amp;quot;&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;Src&amp;quot; value=&amp;quot;&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;ShowDisplay&amp;quot; value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;AutoLoop&amp;quot; value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;param name=&amp;quot;AutoPlay&amp;quot; value=&amp;quot;False&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/OBJECT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then, using Javascript, you can select another source, or change the audio track :&lt;br /&gt;
&lt;br /&gt;
  document.vlc.playlistClear();&lt;br /&gt;
  var options=[&amp;quot;:audio-track=5&amp;quot;]; // select audio track 5 (=6th, 1st is 0)&lt;br /&gt;
  document.vlc.addTarget(&amp;quot;...&amp;quot;,options,2,0); // replace entry 0&lt;br /&gt;
  document.vlc.play();&lt;br /&gt;
&lt;br /&gt;
See http://people.videolan.org/~damienf/plugin-0.8.6.html for a complete demo.&lt;br /&gt;
&lt;br /&gt;
==Embedding ActiveX using m3u Playlists==&lt;br /&gt;
Maybe a better to show VLC in an HTML Website is to use m3u Playlists. It has got the advantage that users with turned-off Javascript can also use this plugin, since document.vlc.addTarget won&#039;t work with javascript turned off.&lt;br /&gt;
&lt;br /&gt;
* Step 1: Create the HTML website with the VLC-Object linked to the m3u playlist&lt;br /&gt;
* Step 2: Create your m3u playlist with all options, save and upload it to your webspace.&lt;br /&gt;
* Step 3 (optional): Create buttons and other objects to control VLC (like document.vlc.play();)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 1: Creating the website to embed ActiveX Control&#039;&#039;&#039;&lt;br /&gt;
 &amp;lt;!DOCTYPE HTML PUBLIC &amp;quot;-//W3C//DTD HTML 4.01 Frameset//EN&amp;quot; &amp;quot;http://www.w3.org/TR/html4/frameset.dtd&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;lt; HTML &amp;gt;&lt;br /&gt;
   &amp;lt;BODY marginwidth=&amp;quot;0&amp;quot; marginheight=&amp;quot;0&amp;quot; topmargin=&amp;quot;0&amp;quot; leftmargin=&amp;quot;0&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;OBJECT classid=&amp;quot;clsid:E23FE9C6-778E-49D4-B537-38FCDE4887D8&amp;quot;&lt;br /&gt;
         codebase=&amp;quot;http://downloads.videolan.org/pub/videolan/vlc/latest/win32/axvlc.cab&amp;quot;&lt;br /&gt;
         width=&amp;quot;400&amp;quot; height=&amp;quot;300&amp;quot; id=&amp;quot;vlc&amp;quot; events=&amp;quot;True&amp;quot;&amp;gt;&lt;br /&gt;
       &amp;lt;param name=&amp;quot;Src&amp;quot; value=&amp;quot;myplaylist.m3u&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;param name=&amp;quot;ShowDisplay&amp;quot; value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;param name=&amp;quot;AutoLoop&amp;quot; value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;param name=&amp;quot;AutoPlay&amp;quot; value=&amp;quot;True&amp;quot; /&amp;gt;&lt;br /&gt;
       &amp;lt;param name=&amp;quot;Volume&amp;quot; value=&amp;quot;100&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;/OBJECT&amp;gt;&lt;br /&gt;
   &amp;lt;/BODY&amp;gt;&lt;br /&gt;
 &amp;lt; /HTML &amp;gt;&lt;br /&gt;
You should modify the values of width, height and volume (0-100) fitting to your desires. If you don&#039;t know them, simply delete them (e.g. remove &#039;&#039;width=&amp;quot;640&amp;quot;&#039;&#039; from the code).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Step 2: Creating the m3u playlist&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Open Notepad, create your playlist and save it as &#039;myplaylist.m3u&#039; for this example.&lt;br /&gt;
 #EXTM3U                                     // Required to identify this file as m3u file&lt;br /&gt;
 #EXTVLCOPT--input-repeat=-1                 // repeat the following file/playlist&lt;br /&gt;
 #EXTVLCOPT--http-reconnect=true             // required for a streaming-client to enable repeat&lt;br /&gt;
 #EXTVLCOPT--any further parameter goes here // see also [[VLC command-line help]]&lt;br /&gt;
 #EXTINF:0, Test Description                 // set the title for the following file shown in your playlist&lt;br /&gt;
 video.mpg                                // the actual file to be displayed&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Annotations:&#039;&#039;&#039;&lt;br /&gt;
* For actual looping of the entire playlist, the user has to have check &#039;Repeat all&#039; under Preferences --&amp;gt; Playlist --&amp;gt; General&lt;br /&gt;
* Mind that options have different names if you play a file locally or if you want to stream it (--sub-filter --&amp;gt; --s-filter)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Mind the different Options-styles:&#039;&#039;&#039;&lt;br /&gt;
  --option  A global option that is set for the duration of the program.&lt;br /&gt;
   -option  A single letter version of a global --option.&lt;br /&gt;
   :option  An option that only applies to the playlistitem directly before it&lt;br /&gt;
            and that overrides previous settings.&lt;br /&gt;
&lt;br /&gt;
==Known Problems and how to solve them==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Problem&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
A know problem is, that the VLC-Plugin won&#039;t be displayed. Instead, you are asked whether you want to install the VLC-ActiveX-Component. &amp;quot;Don&#039;t install&amp;quot; cancels the installation and nothing happens. &amp;quot;Install&amp;quot; runs the usual VLC-Setup (mind to install the ActiveX-Plugin), but after reopening an HTML-page with the VLC-Plugin, it&#039;s the same situation as before.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Solution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Use the &amp;quot;other&amp;quot; ClassID in your HTML-Source as shown above:   &lt;br /&gt;
 &amp;lt;OBJECT classid=&amp;quot;clsid:9BE31822-FDAD-461B-AD51-BE1D1C159921&amp;quot; ...&lt;br /&gt;
&lt;br /&gt;
* You have to lower the security settings on your PC. &#039;&#039;&#039;Do this at your own risk! Use [http://www.getfirefox.com Firefox] to browse the web!&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* In Internet Explorer select [Tools], [Internet Options]. The &amp;quot;Internet Options&amp;quot; window opens. Select the Tab &amp;quot;Advanced&amp;quot;. Scroll down until you see the main point &amp;quot;Security&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
* Check the following entries:&lt;br /&gt;
** Allow active content to CDs to run on My Computer&lt;br /&gt;
** Allow active content to run in files on My Computer&lt;br /&gt;
** Allow software to run or install even if the signature is invalid&lt;br /&gt;
&lt;br /&gt;
* Instead of lowering security level, you can add the website address to the right security area.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
* [[ActiveX/Delphi|Delphi Implementation]]&lt;br /&gt;
* [[ActiveX|ActiveX Description]]&lt;br /&gt;
&lt;br /&gt;
[[Category:Embedded]]&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=Win32CompileCygwinNew&amp;diff=12153</id>
		<title>Win32CompileCygwinNew</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=Win32CompileCygwinNew&amp;diff=12153"/>
		<updated>2008-07-17T20:45:38Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: Update contrib, format fix&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a new version of the Win32CompileCygwin written by [[User:J-b|Jean-Baptiste Kempf]]&lt;br /&gt;
&#039;&#039;&#039;This version ONLY works for 0.9.x.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
&lt;br /&gt;
This is a guide for Windows users with a step-by-step instruction to download, install, configure and build your VLC.&lt;br /&gt;
&lt;br /&gt;
This guide uses [http://www.cygwin.com &#039;&#039;&#039;Cygwin&#039;&#039;&#039;] a Linux-like environment for Windows used for compilation of the VLC source code.&lt;br /&gt;
&lt;br /&gt;
Start off by creating a VLC and a download folder on your hard drive where you can put all the installation files:&lt;br /&gt;
&lt;br /&gt;
 C:\VLC\&lt;br /&gt;
 C:\VLC\Downloads&lt;br /&gt;
&lt;br /&gt;
For further reference, the assumption is made that the local user will be &#039;Administrator&#039;.&lt;br /&gt;
&lt;br /&gt;
=Cygwin=&lt;br /&gt;
&lt;br /&gt;
Download the latest [http://www.cygwin.com/cygwin/setup.exe Cygwin setup] and save it in your download location:&lt;br /&gt;
&lt;br /&gt;
 C:\VLC\Downloads\&lt;br /&gt;
&lt;br /&gt;
More info about Cygwin can be found at http://www.cygwin.com or http://sourceware.org/cygwin&lt;br /&gt;
&lt;br /&gt;
==Selecting Cygwin packages to install==&lt;br /&gt;
&lt;br /&gt;
Run the setup program with the following options:&lt;br /&gt;
&lt;br /&gt;
Installation type : Install from Internet (default)&lt;br /&gt;
&lt;br /&gt;
Root directory : C:\cygwin (default)&lt;br /&gt;
&lt;br /&gt;
Local Package directory : C:\VLC\Downloads\cygwin (your download location)&lt;br /&gt;
&lt;br /&gt;
Internet Connection : Direct Connection (preferred, if it fails try another)&lt;br /&gt;
&lt;br /&gt;
Download Site : Choose a download site closest to you (FTP preferred)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
At the &amp;quot;Select Packages&amp;quot; section of the installation process you can select packages by clicking the button with the rotating 2 arrows. (This is under the &amp;quot;New&amp;quot; section). It shows &amp;quot;Skip&amp;quot; next to the button if the package isn&#039;t selected yet.&lt;br /&gt;
&lt;br /&gt;
Clicking the button a few times will rotate through the possible package versions including &amp;quot;Skip&amp;quot; (meaning do not install or remove if installed) and &amp;quot;Keep&amp;quot; (meaning keep using the current installed version). If a package was already installed it will also show the &amp;quot;Current&amp;quot; version just to the left of it.&lt;br /&gt;
&lt;br /&gt;
Select the following packages (some others will automatically be selected as well):&lt;br /&gt;
&lt;br /&gt;
 Archive&lt;br /&gt;
   unzip&lt;br /&gt;
   zip&lt;br /&gt;
&lt;br /&gt;
 Devel&lt;br /&gt;
   autoconf&lt;br /&gt;
   automake&lt;br /&gt;
   binutils&lt;br /&gt;
   cvs&lt;br /&gt;
   expat&lt;br /&gt;
   gcc&lt;br /&gt;
   gcc-core&lt;br /&gt;
   gcc-g++&lt;br /&gt;
   gcc-mingw&lt;br /&gt;
   gcc-mingw-core&lt;br /&gt;
   gcc-mingw-g++&lt;br /&gt;
   gdb&lt;br /&gt;
   gettext&lt;br /&gt;
   gettext-devel&lt;br /&gt;
   git&lt;br /&gt;
   libiconv&lt;br /&gt;
   libtool&lt;br /&gt;
   make&lt;br /&gt;
   mingw-runtime&lt;br /&gt;
   nasm&lt;br /&gt;
   patchutils&lt;br /&gt;
   pkg-config&lt;br /&gt;
   subversion&lt;br /&gt;
&lt;br /&gt;
 Editor&lt;br /&gt;
   vim&lt;br /&gt;
&lt;br /&gt;
 Libs&lt;br /&gt;
   libgcrypt&lt;br /&gt;
&lt;br /&gt;
 Web&lt;br /&gt;
   curl (optional: for building extras/contrib)&lt;br /&gt;
   wget (optional: for building extras/contrib)&lt;br /&gt;
&lt;br /&gt;
==Cygwin environment==&lt;br /&gt;
&lt;br /&gt;
Start Cygwin from the icon on your desktop (With Windows Vista run it with admin rights, so right click and select &amp;quot;Run as administrator&amp;quot;). If it runs for the first time it will automatically create a home\&amp;quot;username&amp;quot; folder in the Cygwin environment; user being the currently logged on Windows user. Assuming this is the &#039;Administrator&#039; user it will create the following folder:&lt;br /&gt;
&lt;br /&gt;
 C:\cygwin\home\Administrator (example)&lt;br /&gt;
&lt;br /&gt;
NOTE: On your desktop, you can rightclick the Cygwin icon and (in the Options field of the Cygwin Properties) set the Command history Buffer size to as large as possible: 999. This setting will make it possible to scroll back further in the Cygwin environment.&lt;br /&gt;
&lt;br /&gt;
=VLC source code=&lt;br /&gt;
&lt;br /&gt;
== Git ==&lt;br /&gt;
The very latest VLC source code can be obtained through a tool called Git. The Cygwin package we&#039;re about to install comes with an internal git component.&lt;br /&gt;
&lt;br /&gt;
 cd /cygdrive/c/VLC/&lt;br /&gt;
&lt;br /&gt;
 git clone git://git.videolan.org/vlc.git&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note for Windows users using [http://www.cygwin.com Cygwin] (linux-like build environment):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Applies to:&lt;br /&gt;
&lt;br /&gt;
 Windows XP Service Pack 2 with Security Update &#039;&#039;&#039;KB925902&#039;&#039;&#039; installed&lt;br /&gt;
 Windows XP Service Pack 3&lt;br /&gt;
&lt;br /&gt;
There is a problem on Windows XP (and possibly on other Microsoft Operating Systems) with &#039;git clone&#039; which aborts unexpectedly with a Cygwin error during the &#039;checking out files&#039; (reproducable every time and at the same percentage) at the end of the clone procedure:&lt;br /&gt;
&lt;br /&gt;
 $ 2 [main] git 4012 D:\cygwin\bin\git.exe:&lt;br /&gt;
   *** fatal error - &#039;&#039;&#039;could not load shell32, Win32 error 487&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This has been verified (May 22, 2008) against the currently available Cygwin 1.5.25-12 with git package versions 1.5.5.1-1 and 1.5.4-1 and is a generic problem which also affects cloning from other git repositories (although x264.git seems unaffected).&lt;br /&gt;
&lt;br /&gt;
The issue is referred to in the mail archives of the Cygwin project mailing list here &lt;br /&gt;
[http://sourceware.org/ml/cygwin/2007-07/msg00858.html Git error on Cygwin].&lt;br /&gt;
&lt;br /&gt;
By eliminating the impossible, whatever remained, however improbable, it is the following Windows Security Update (April 3, 2007) which is actually the cause of the Cygwin issue: [http://www.microsoft.com/technet/security/bulletin/ms07-017.mspx Microsoft Security Bulletin MS07-017 - Vulnerabilities in GDI Could Allow Remote Code Execution (925902)]&lt;br /&gt;
&lt;br /&gt;
Even though the same Security Update applies to the following systems, these are reported not to be affected:&lt;br /&gt;
&lt;br /&gt;
 Windows Vista Service Pack 1&lt;br /&gt;
 Windows 2003 Server Standard Service Pack 2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;It is possible to get &#039;git clone&#039; working again on the affected systems by removing the Security Update (KB925902) but this is obviously not recommended for security reasons.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Snapshots ==&lt;br /&gt;
&lt;br /&gt;
You can do the same by using the snapshots in the [http://nightlies.videolan.org/ nightly builds] site.&lt;br /&gt;
&lt;br /&gt;
=Bootstrap=&lt;br /&gt;
&lt;br /&gt;
Open the &#039;&#039;&#039;configure.ac&#039;&#039;&#039; file, and modify the requirement for gettext 0.17 to 0.15 (so replace line &#039;&#039;&#039;AM_GNU_GETTEXT_VERSION(0.17)&#039;&#039;&#039; with line &#039;&#039;&#039;AM_GNU_GETTEXT_VERSION(0.15)&#039;&#039;&#039;), and then run bootstrap.&lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
= External libraries to the source code=&lt;br /&gt;
&lt;br /&gt;
VLC depends on other libraries (code) to provide some features like AC3 audio or MPEG-4 video encoding/decoding etc.&lt;br /&gt;
&lt;br /&gt;
Depending on your needs you will have to install and compile some or all of these external libraries. &lt;br /&gt;
&lt;br /&gt;
== Get the Win32 &amp;quot;contrib&amp;quot; package ==&lt;br /&gt;
&lt;br /&gt;
A package with most of these libraries already compiled so it&#039;s actually really easy to compile a full-featured version of vlc can be found here:&lt;br /&gt;
&lt;br /&gt;
http://download.videolan.org/pub/testing/win32/&lt;br /&gt;
&lt;br /&gt;
Download the latest version of a &amp;quot;contrib&amp;quot; package for win32:&lt;br /&gt;
&lt;br /&gt;
 contrib-20060730-win32-bin-gcc-3.4.5-only.tar.bz2 (example)&lt;br /&gt;
&lt;br /&gt;
Those days, you should use&lt;br /&gt;
 http://people.videolan.org/~jb/Contribs/contrib-20080702-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
It&#039;s a good idea to check the INSTALL.Win32 file in the VLC source directory for the appropriate contrib download file.&lt;br /&gt;
&lt;br /&gt;
Save it into your download location:&lt;br /&gt;
&lt;br /&gt;
 C:\VLC\Downloads\&lt;br /&gt;
&lt;br /&gt;
==Installing the Win32 &amp;quot;contrib&amp;quot; package in Cygwin==&lt;br /&gt;
&lt;br /&gt;
Start Cygwin and enter the following command in your shell:&lt;br /&gt;
&lt;br /&gt;
 cd /cygdrive/c/VLC/Downloads&lt;br /&gt;
 tar xf contrib-20080702-win32-bin-gcc-4.2.1-sjlj-runtime-3.13-only.tar.bz2 -C /&lt;br /&gt;
&lt;br /&gt;
Replace with your version of the &amp;quot;contrib&amp;quot; file and DON&#039;T FORGET THE / (slash)&lt;br /&gt;
at the end.&lt;br /&gt;
&lt;br /&gt;
This will extract the contents of the file into usr/win32 folder within your Cygwin environment.&lt;br /&gt;
&lt;br /&gt;
NOTE: Make sure to DELETE your old version (/usr/win32 folder) instead of extracting a new version on top of it.&lt;br /&gt;
&lt;br /&gt;
==Keeping the Win32 &amp;quot;contrib&amp;quot; package up-to-date==&lt;br /&gt;
&lt;br /&gt;
For maintenance purposes periodically check:&lt;br /&gt;
&lt;br /&gt;
http://download.videolan.org/pub/testing/win32/&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Configure=&lt;br /&gt;
&lt;br /&gt;
In order to make our lives just a bit easier the following section describes what commandline options should be used for compiling and those commands will then be put into a &amp;quot;script&amp;quot; that can be executed (rather than having to copy and paste all the time).&lt;br /&gt;
&lt;br /&gt;
==Configure script for compiling VLC==&lt;br /&gt;
&lt;br /&gt;
Create a new text document with the following lines:&lt;br /&gt;
&lt;br /&gt;
  PATH=/usr/win32/bin:$PATH \&lt;br /&gt;
  PKG_CONFIG_PATH=/usr/win32/lib/pkgconfig \&lt;br /&gt;
  CPPFLAGS=&amp;quot;-I/usr/win32/include -I/usr/win32/include/ebml&amp;quot; \&lt;br /&gt;
  LDFLAGS=-L/usr/win32/lib \&lt;br /&gt;
  CC=&amp;quot;gcc -mno-cygwin&amp;quot; CXX=&amp;quot;g++ -mno-cygwin&amp;quot; \&lt;br /&gt;
  ./configure \&lt;br /&gt;
      --host=i686-pc-mingw32 \&lt;br /&gt;
      --disable-gtk \&lt;br /&gt;
      --enable-nls --enable-sdl --with-sdl-config-path=/usr/win32/bin \&lt;br /&gt;
      --enable-ffmpeg --with-ffmpeg-mp3lame --with-ffmpeg-faac \&lt;br /&gt;
      --with-ffmpeg-zlib --enable-faad --enable-flac --enable-theora \&lt;br /&gt;
      --with-wx-config-path=/usr/win32/bin \&lt;br /&gt;
      --with-freetype-config-path=/usr/win32/bin \&lt;br /&gt;
      --with-fribidi-config-path=/usr/win32/bin \&lt;br /&gt;
      --enable-live555 --with-live555-tree=/usr/win32/live.com \&lt;br /&gt;
      --enable-caca --with-caca-config-path=/usr/win32/bin \&lt;br /&gt;
      --with-xml2-config-path=/usr/win32/bin \&lt;br /&gt;
      --with-dvdnav-config-path=/usr/win32/bin \&lt;br /&gt;
      --disable-cddax --disable-vcdx --enable-goom \&lt;br /&gt;
      --enable-twolame --enable-dvdread \&lt;br /&gt;
      --enable-debug  --enable-dca \&lt;br /&gt;
      --disable-mkv --disable-taglib&lt;br /&gt;
&lt;br /&gt;
NOTE: The following options are added for debug purposes and makes the final package a bit larger but the advantage is it&#039;s easier to debug in case of crash reports:&lt;br /&gt;
&lt;br /&gt;
 --disable-optimizations&lt;br /&gt;
 --enable-debug&lt;br /&gt;
&lt;br /&gt;
If you want to report a crash bug to the VLC team, it is necessary that you provide a stack backtrace. Unfortunately, Windows automatic crash reporter cannot generate such a backtrace as debug symbols used by GCC compiler aren&#039;t understood by Windows, therefore we suggest that you install Dr. MinGW (http://jrfonseca.dyndns.org/projects/gnu-win32/software/drmingw/) which will extend Windows Just-In-Time Debugger and provide the necessary debug information.&lt;br /&gt;
&lt;br /&gt;
NOTE: The following options is needed for Qt4 support:&lt;br /&gt;
&lt;br /&gt;
 --enable-qt4&lt;br /&gt;
&lt;br /&gt;
As of version 0.9.0 VLC will include the Qt interface. More information can be found about QT here: http://www.trolltech.com&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Win32 contrib package&amp;quot; at present includes the linux and Windows equivalents of uic, moc and roc executables which are required for building this interface.&lt;br /&gt;
&lt;br /&gt;
The linuxs executables have to be &#039;&#039;&#039;deleted&#039;&#039;&#039; from the contrib folder:&lt;br /&gt;
&lt;br /&gt;
 C:\cygwin\usr\win32\bin\moc (example)&lt;br /&gt;
 C:\cygwin\usr\win32\bin\rcc (example)&lt;br /&gt;
 C:\cygwin\usr\win32\bin\uic (example)&lt;br /&gt;
&lt;br /&gt;
Save as filename in your &amp;quot;scripts&amp;quot; folder at your download/install location:&lt;br /&gt;
&lt;br /&gt;
 configure-vlc.sh&lt;br /&gt;
&lt;br /&gt;
NOTE: Save using &amp;quot;All files&amp;quot; and not &amp;quot;Text files&amp;quot; otherwise Windows might append the extension .txt&lt;br /&gt;
&lt;br /&gt;
Copy the file into your home directory:&lt;br /&gt;
 &lt;br /&gt;
 C:\cygwin\home\Administrator&lt;br /&gt;
&lt;br /&gt;
Start Cygwin and enter the following command in your shell: &lt;br /&gt;
&lt;br /&gt;
 dos2unix configure-vlc.sh&lt;br /&gt;
&lt;br /&gt;
After your configure-vlc.sh is completed, copy it to your vlc directory and run it:&lt;br /&gt;
&lt;br /&gt;
 ./configure-vlc.sh&lt;br /&gt;
&lt;br /&gt;
If it complains about permissions, use chmod and try again:&lt;br /&gt;
&lt;br /&gt;
 chmod 777 configure-vlc.sh&lt;br /&gt;
&lt;br /&gt;
NOTE. (If you plan to use JVLC) To make vlc-control.dll accessible by Java on &#039;&#039;Windows&#039;&#039; cofigure-vlc.sh should be modified to include &amp;quot;-Wl,--add-stdcal-alias&amp;quot;. Example:&lt;br /&gt;
&lt;br /&gt;
 ...&lt;br /&gt;
 CC=&amp;quot;gcc -mno-cygwin -Wl,--add-stdcall-alias&amp;quot; CXX=&amp;quot;g++ -mno-cygwin -Wl,--add-stdcall-alias&amp;quot; \&lt;br /&gt;
 ./configure \&lt;br /&gt;
 ...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===POSIX emulation layer===&lt;br /&gt;
&lt;br /&gt;
VLC can be built with or without the so called POSIX emulation layer. Without is the default and is usually better (and with hasn&#039;t been tested for quite some time). If you do want to use the emulation layer, then just leave out the line with the following options:&lt;br /&gt;
&lt;br /&gt;
 CC=&amp;quot;gcc -mno-cygwin&amp;quot; CXX=&amp;quot;g++ -mno-cygwin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=Compiling source code=&lt;br /&gt;
&lt;br /&gt;
It&#039;s time to start Cygwin again...&lt;br /&gt;
&lt;br /&gt;
==Compiling VLC==&lt;br /&gt;
&lt;br /&gt;
Enter the following commands in your Cygwin shell:&lt;br /&gt;
&lt;br /&gt;
 cd vlc&lt;br /&gt;
&lt;br /&gt;
Build it! (remember to run configure-vlc.sh before first build)&lt;br /&gt;
&lt;br /&gt;
 make&lt;br /&gt;
&lt;br /&gt;
Cross your fingers and wait... because it might take few hours before compilation is done.&lt;br /&gt;
If you have multicore CPU or multi CPU box, you can use -j2 switch (or maybe -j3 or -j4 etc.) to speed up make process&lt;br /&gt;
&lt;br /&gt;
 make -j2&lt;br /&gt;
&lt;br /&gt;
==Creating self contained packages==&lt;br /&gt;
&lt;br /&gt;
Once the compilation is done, you can either run VLC directly from the source tree or you can build self-contained VLC packages with the following &amp;quot;make&amp;quot; commands:&lt;br /&gt;
&lt;br /&gt;
 make package-win32-base&lt;br /&gt;
&lt;br /&gt;
(This will create a subdirectory named vlc-x.x.x with all the binaries &amp;quot;stripped&amp;quot; without any debugging symbols).&lt;br /&gt;
&lt;br /&gt;
 make package-win32-zip&lt;br /&gt;
&lt;br /&gt;
(Same as above but will package the directory in a zip file).&lt;br /&gt;
&lt;br /&gt;
 make package-win32&lt;br /&gt;
&lt;br /&gt;
(Same as above but will also create an auto-installer package. You will need to have NSIS installed in its default location for this to work).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Advanced usage=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Updating Cygwin package versions==&lt;br /&gt;
&lt;br /&gt;
If you need to update or install additional packages you can just run the Cygwin setup.exe from your download location:&lt;br /&gt;
&lt;br /&gt;
 C:\Downloads\cygwin\setup.exe          (example)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==GDB (Gnu Debugger)==&lt;br /&gt;
&lt;br /&gt;
This section requires that you installed the gdb (Gnu Debugger) in Cygwin.&lt;br /&gt;
&lt;br /&gt;
This is a typical example of creating a crashlog:&lt;br /&gt;
&lt;br /&gt;
 cd vlc-trunk&lt;br /&gt;
&lt;br /&gt;
 gdb --args vlc.exe --fast-mutex --reset-config --reset-plugins-cache&lt;br /&gt;
&lt;br /&gt;
NOTE: vlc-0.9.0 uses libtool for building sources, if you want to debug from the source tree, you should type the following command instead:&lt;br /&gt;
&lt;br /&gt;
 libtool --mode=execute gdb --args vlc --reset-config --reset-plugins-cache&lt;br /&gt;
&lt;br /&gt;
In the debugger mode run the program and make sure you reset the preferences!&lt;br /&gt;
&lt;br /&gt;
 (gdb) run &lt;br /&gt;
&lt;br /&gt;
NOTE: the (gdb) is just a prompt which means you are in the debugger mode, please note that &#039;&#039;--fast-mutex&#039;&#039; option is no longer supported in vlc-0.9.0&lt;br /&gt;
&lt;br /&gt;
It will now take a lot longer than usual for VLC to start :)&lt;br /&gt;
&lt;br /&gt;
Now operate VLC as you would normally do. As soon as a crash issue occurs&lt;br /&gt;
you&#039;ll notice a line like this:&lt;br /&gt;
&lt;br /&gt;
 Program received signal SIGSEGV, Segmentation fault.&lt;br /&gt;
 0x0041394c in playlist_ItemGetById (p_playlist=0x19ec4f8, i_id=29)&lt;br /&gt;
     at src/playlist/item-ext.c:459&lt;br /&gt;
 ---Type &amp;lt;return&amp;gt; to continue, or q &amp;lt;return&amp;gt; to quit---&lt;br /&gt;
 459             i = i_bottom + ( i_top - i_bottom ) / 2;&lt;br /&gt;
&lt;br /&gt;
Now you can do a &amp;quot;backtrace&amp;quot; by using the bt command:&lt;br /&gt;
&lt;br /&gt;
 (gdb) bt&lt;br /&gt;
&lt;br /&gt;
And output similar to this will be created:&lt;br /&gt;
&lt;br /&gt;
 #0  0x0041394c in playlist_ItemGetById (p_playlist=0x19ec4f8, i_id=29) &lt;br /&gt;
     at src/playlist/item-ext.c:459&lt;br /&gt;
 #1  0x0b26bbf7 in wxvlc::Playlist::CountItems (this=0x1822e288, root=&lt;br /&gt;
       {m_pItem = 0x29fef8}) at playlist.cpp:695&lt;br /&gt;
 #2  0x0b26bc83 in wxvlc::Playlist::CountItems (this=0x1822e288, root=&lt;br /&gt;
       {m_pItem = 0x29e8b0}) at playlist.cpp:689&lt;br /&gt;
 #3  0x0b26bc83 in wxvlc::Playlist::CountItems (this=0x1822e288, root=&lt;br /&gt;
       {m_pItem = 0x29a818}) at playlist.cpp:689&lt;br /&gt;
 #4  0x0b26bc83 in wxvlc::Playlist::CountItems (this=0x1822e288, root=&lt;br /&gt;
       {m_pItem = 0x299718}) at playlist.cpp:689&lt;br /&gt;
 #5  0x0b26bc83 in wxvlc::Playlist::CountItems (this=0x1822e288, root=&lt;br /&gt;
       {m_pItem = 0xffff0000}) at playlist.cpp:689&lt;br /&gt;
 #6  0x0b26bf49 in wxvlc::Playlist::AppendItem (this=0x1822e288,&lt;br /&gt;
     event=@0x1827afd0) at playlist.cpp:564&lt;br /&gt;
 #7  0x0b2757fc in wxvlc::Playlist::OnPlaylistEvent (this=0x1822e288,&lt;br /&gt;
     event=@0x1827afd0) at playlist.cpp:1438&lt;br /&gt;
 #8  0x0b3771b8 in wxEvtHandler::ProcessEventIfMatches ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/event.h:2183&lt;br /&gt;
 #9  0x0b376a1c in wxEventHashTable::HandleEvent ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/event.h:2183&lt;br /&gt;
 #10 0x0b37730d in wxEvtHandler::ProcessEvent ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/event.h:2183&lt;br /&gt;
 #11 0x0b37711b in wxEvtHandler::ProcessPendingEvents ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/event.h:2183&lt;br /&gt;
 ---Type &amp;lt;return&amp;gt; to continue, or q &amp;lt;return&amp;gt; to quit---&lt;br /&gt;
 #12 0x0b376017 in wxAppConsole::ProcessPendingEvents ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/event.h:2183&lt;br /&gt;
 #13 0x0b3ec75a in wxIdleWakeUpModule::MsgHookProc ()&lt;br /&gt;
     at /usr/win32/include/wx-2.6/wx/bmpbuttn.h:81&lt;br /&gt;
 #14 0x773aca2d in USER32!GetScrollRange ()&lt;br /&gt;
    from /cygdrive/c/WINDOWS/system32/user32.dll&lt;br /&gt;
 #15 0x00000000 in ?? () from&lt;br /&gt;
 (gdb)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To backtrace all the running threads use:&lt;br /&gt;
&lt;br /&gt;
 (gdb) thread apply all bt&lt;br /&gt;
&lt;br /&gt;
These are the log outputs that are more usefull to developers than just mentioning &amp;quot;it crashes&amp;quot;!&lt;br /&gt;
&lt;br /&gt;
NOTE: In GDB mode there are sometimes situations where GDB initially &amp;quot;crashes&amp;quot; on certain network activity (opening network shares, network traffic) which in normal operation does not occur. Just select c for continue until &amp;quot;normal&amp;quot; operation continues.&lt;br /&gt;
&lt;br /&gt;
== Common errors ==&lt;br /&gt;
===vlc.exe: Permission denied===&lt;br /&gt;
&lt;br /&gt;
A make finished successfully and produced vlc.exe, but running the executable returns the following:&lt;br /&gt;
&lt;br /&gt;
 bash: ./vlc.exe: Permission denied&lt;br /&gt;
&lt;br /&gt;
The permissions on both vlc.exe &amp;amp; vlc.exe.manifest must be set to executable. &lt;br /&gt;
&lt;br /&gt;
FIX: Type the following:&lt;br /&gt;
 &lt;br /&gt;
 chmod 755 vlc.exe vlc.exe.manifest&lt;br /&gt;
&lt;br /&gt;
===error: parse error before &#039;(&#039; token===&lt;br /&gt;
&lt;br /&gt;
A make (compile) of FFmpeg results in the following error:&lt;br /&gt;
&lt;br /&gt;
 /usr/include/sys/unistd.h:203: error: parse error before &#039;(&#039; token&lt;br /&gt;
 make[1]: *** [ffm.o] Error 1&lt;br /&gt;
&lt;br /&gt;
It&#039;s very likely you are usix the POSIX emulater which you shouldn&#039;t...&lt;br /&gt;
&lt;br /&gt;
FIX: compile with the option &lt;br /&gt;
&lt;br /&gt;
 -mno-cygwin&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==error: expected primary-expression before &#039;&amp;lt;&amp;lt;&#039; token==&lt;br /&gt;
&lt;br /&gt;
 In file included from /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../include/w32&lt;br /&gt;
 api/windows.h:52,&lt;br /&gt;
                  from ../../../include/vlc_common.h:459,&lt;br /&gt;
                  from ../../../include/vlc/vlc.h:153,&lt;br /&gt;
                  from dshow.cpp:31:&lt;br /&gt;
 /usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../include/w32api/wingdi.h:3:1: warn&lt;br /&gt;
 ing: this is the location of the previous definition&lt;br /&gt;
 In file included from /usr/win32/include/dshow.h:35,&lt;br /&gt;
                  from common.h:45,&lt;br /&gt;
                  from dshow.cpp:35:&lt;br /&gt;
 /usr/win32/include/ddraw.h:14: warning: ignoring #pragma warning&lt;br /&gt;
 In file included from /usr/win32/include/dshow.h:35,&lt;br /&gt;
                  from common.h:45,&lt;br /&gt;
                  from dshow.cpp:35:&lt;br /&gt;
 /usr/win32/include/ddraw.h:5552: warning: ignoring #pragma warning&lt;br /&gt;
 In file included from /usr/win32/include/dshow.h:45,&lt;br /&gt;
                  from common.h:45,&lt;br /&gt;
                  from dshow.cpp:35:&lt;br /&gt;
 /usr/win32/include/strmif.h:2: warning: ignoring #pragma warning&lt;br /&gt;
 In file included from /usr/win32/include/dsound.h:13,&lt;br /&gt;
                  from /usr/win32/include/amaudio.h:18,&lt;br /&gt;
                  from /usr/win32/include/dshow.h:47,&lt;br /&gt;
                  from common.h:45,&lt;br /&gt;
                  from dshow.cpp:35:&lt;br /&gt;
 /usr/win32/include/d3dtypes.h:22: warning: ignoring #pragma warning&lt;br /&gt;
 /usr/win32/include/d3dtypes.h:1813: warning: ignoring #pragma warning&lt;br /&gt;
 In file included from /usr/win32/include/dshow.h:48,&lt;br /&gt;
                  from common.h:45,&lt;br /&gt;
                  from dshow.cpp:35:&lt;br /&gt;
 /usr/win32/include/control.h:2: warning: ignoring #pragma warning&lt;br /&gt;
 dshow.cpp: In function `int CommonOpen(vlc_object_t*, access_sys_t*, vlc_bool_t)&lt;br /&gt;
 &#039;:&lt;br /&gt;
 dshow.cpp:456: error: expected primary-expression before &#039;&amp;lt;&amp;lt;&#039; token&lt;br /&gt;
 dshow.cpp:456: error: expected primary-expression before &#039;&amp;lt;&amp;lt;&#039; token&lt;br /&gt;
 dshow.cpp:456: error: expected primary-expression before &#039;&amp;lt;&amp;lt;&#039; token&lt;br /&gt;
 dshow.cpp:456: error: expected primary-expression before &#039;&amp;lt;&#039; token&lt;br /&gt;
 dshow.cpp:456: error: expected primary-expression before &#039;.&#039; token&lt;br /&gt;
 dshow.cpp:470: error: expected primary-expression before &#039;==&#039; token&lt;br /&gt;
 dshow.cpp:470: error: expected primary-expression before &#039;==&#039; token&lt;br /&gt;
 dshow.cpp:470: error: expected primary-expression before &#039;==&#039; token&lt;br /&gt;
 dshow.cpp:470: error: expected primary-expression before &#039;=&#039; token&lt;br /&gt;
 dshow.cpp:484: error: expected primary-expression before &#039;&amp;gt;&amp;gt;&#039; token&lt;br /&gt;
 dshow.cpp:484: error: expected primary-expression before &#039;&amp;gt;&amp;gt;&#039; token&lt;br /&gt;
 dshow.cpp:484: error: expected primary-expression before &#039;&amp;gt;&amp;gt;&#039; token&lt;br /&gt;
 dshow.cpp:484: error: expected primary-expression before &#039;&amp;gt;&#039; token&lt;br /&gt;
 dshow.cpp:484: error: expected primary-expression before &#039;.&#039; token&lt;br /&gt;
 dshow.cpp:485: error: expected `;&#039; before &amp;quot;IAMCrossbar&amp;quot;&lt;br /&gt;
 dshow.cpp:491: error: `pXbar&#039; undeclared (first use this function)&lt;br /&gt;
 dshow.cpp:491: error: (Each undeclared identifier is reported only once for each&lt;br /&gt;
 function it appears in.)&lt;br /&gt;
 make[6]: *** [libdshow_plugin_a-dshow.o] Error 1&lt;br /&gt;
 make[6]: Leaving directory `/home/Administrator/vlc-trunk/modules/access/dshow&#039;&lt;br /&gt;
 make[5]: *** [all-modules] Error 1&lt;br /&gt;
 make[5]: Leaving directory `/home/Administrator/vlc-trunk/modules/access/dshow&#039;&lt;br /&gt;
 make[4]: *** [all-recursive] Error 1&lt;br /&gt;
 make[4]: Leaving directory `/home/Administrator/vlc-trunk/modules/access&#039;&lt;br /&gt;
 make[3]: *** [all] Error 2&lt;br /&gt;
&lt;br /&gt;
Basically in case of conflict svn adds &amp;quot;&amp;lt;&amp;lt;&amp;lt; mine&amp;quot; and &amp;quot;=======&amp;quot; and &amp;quot;&amp;gt;&amp;gt;&amp;gt;&amp;gt; r1242&amp;quot; which makes gcc complain.&lt;br /&gt;
&lt;br /&gt;
FIX: revert the offending file&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Objective C source seen but `OBJC&#039; is undefined==&lt;br /&gt;
&lt;br /&gt;
The configure process stops halfway.&lt;br /&gt;
&lt;br /&gt;
 + aclocal-1.9 -I m4&lt;br /&gt;
 + autoconf&lt;br /&gt;
 + autoheader&lt;br /&gt;
 + automake-1.9 --add-missing --copy -Wall&lt;br /&gt;
 configure.ac: installing `autotools/install-sh&#039;&lt;br /&gt;
 configure.ac: installing `autotools/missing&#039;&lt;br /&gt;
 activex/Makefile.am:143: shell $(VLC_CONFIG: non-POSIX variable name&lt;br /&gt;
 activex/Makefile.am:143: (probably a GNU make extension)&lt;br /&gt;
 activex/Makefile.am: installing `autotools/compile&#039;&lt;br /&gt;
 activex/Makefile.am: installing `autotools/depcomp&#039;&lt;br /&gt;
 modules/gui/macosx/Makefile.am: Objective C source seen but `OBJC&#039; is undefined&lt;br /&gt;
 modules/misc/testsuite/Makefile.am: Objective C source seen but `OBJC&#039; is undefi&lt;br /&gt;
 ned&lt;br /&gt;
 src/Makefile.am: Objective C source seen but `OBJC&#039; is undefined&lt;br /&gt;
 Makefile.am:282: user target `vlc$(EXEEXT)&#039; defined here...&lt;br /&gt;
 /usr/share/automake-1.9/am/program.am: ... overrides Automake target `vlc$(EXEEX&lt;br /&gt;
 T)&#039; defined here&lt;br /&gt;
 Makefile.am:230:   while processing program `vlc&#039;&lt;br /&gt;
 make: *** No targets specified and no makefile found.  Stop.&lt;br /&gt;
 &lt;br /&gt;
This problem is related to a warning earlier on and only occured in a few revisions where a built-in workaround wasn&#039;t working properly:&lt;br /&gt;
&lt;br /&gt;
 + echo &#039;Enabling provisional autoconf 2.59 work-around. Update autoconf ASAP.&#039;&lt;br /&gt;
 Enabling provisional autoconf 2.59 work-around. Update autoconf ASAP.&lt;br /&gt;
&lt;br /&gt;
FIX: update autoconf to 2.60 or newer. If Cygwin doesn&#039;t provide this version yet then build it yourself from extras/contrib.&lt;br /&gt;
&lt;br /&gt;
Enter the following commands in your Cygwin shell:&lt;br /&gt;
&lt;br /&gt;
 cd vlc-trunk/extras/contrib&lt;br /&gt;
&lt;br /&gt;
 ./bootstrap&lt;br /&gt;
&lt;br /&gt;
 cd src&lt;br /&gt;
&lt;br /&gt;
 make .autoconf&lt;br /&gt;
&lt;br /&gt;
There should now be compiled autoconf version (probably 2.60 or newer) in extras/contrib that the bootstrap process will use.&lt;br /&gt;
&lt;br /&gt;
Now start the whole &amp;quot;Compile VLC&amp;quot; process from the start again.&lt;br /&gt;
&lt;br /&gt;
==Error: cannot create temporary file for diversion: Permission denied==&lt;br /&gt;
&lt;br /&gt;
If the above error appears, it might mean you don&#039;t have the TMPDIR defined in cygwin. You will need to define it and have its value point to your temporary directory. You can use &#039;&#039;&#039;export TMPDIR=&amp;quot;/cygdrive/c/temp&amp;quot;&#039;&#039;&#039; or any directory for it (/cygdrive/c/temp is same as C:\temp). If this doesn&#039;t help, make sure you run cygwin with admin rights (With Windows Vista, right click cygwin shortcut and select &amp;quot;Run as administrator&amp;quot;). Avira AntiVir might also cause issues to m4, so disabling it while ./bootstrap might help.&lt;br /&gt;
&lt;br /&gt;
=Version=&lt;br /&gt;
&lt;br /&gt;
20050627 Initial version&lt;br /&gt;
&lt;br /&gt;
20050628 Updated some more exceptions&lt;br /&gt;
&lt;br /&gt;
20050628 Some info added about FFmpeg compiling with AMR&lt;br /&gt;
&lt;br /&gt;
20050629 Finalized FFmpeg compiling&lt;br /&gt;
&lt;br /&gt;
20050630 Cross-compiling&lt;br /&gt;
&lt;br /&gt;
20050724 Some extra compile explanations&lt;br /&gt;
&lt;br /&gt;
20050726 Removed cross-compiling (was for linux -&amp;gt; win32) Patching source code with .diff files&lt;br /&gt;
&lt;br /&gt;
20050823 Added zlib error&lt;br /&gt;
&lt;br /&gt;
20050923 --enable-sdl --with-sdl-config-path=/usr/win32/bin added to configure. Added debug section&lt;br /&gt;
&lt;br /&gt;
20051102 Changed FFmpeg lib names&lt;br /&gt;
&lt;br /&gt;
20051128 Detailed Cygwin upgrade/downgrade for gcc 3.3. Renamed some update scripts. Added FFmpeg CVS update. --disable-gnomevfs added to configure (only used on linux)&lt;br /&gt;
&lt;br /&gt;
20060121 PKG_CONFIG_PATH=/usr/win32/lib/pkgconfig added to configure&lt;br /&gt;
&lt;br /&gt;
20060128 Added curl and libtool to Cygwin for those that want to be able to build extras/contrib themselves&lt;br /&gt;
&lt;br /&gt;
20060217 Added make install-libs install-headers to FFmpeg compile&lt;br /&gt;
&lt;br /&gt;
20060222 Remark about missing &amp;quot;gettext&amp;quot; libs for Cygwin during install&lt;br /&gt;
&lt;br /&gt;
20060225 ./bootstrap: you need libtool&lt;br /&gt;
&lt;br /&gt;
20060618 Updated GCC to 3.4 version and added FFmpeg SVN and DTS support&lt;br /&gt;
&lt;br /&gt;
20060805 Added note about using older binutils and gdb for Cygwin!&lt;br /&gt;
&lt;br /&gt;
20060915 Added note about updating autoconf from extras/contrib for an OBJC problem during configure&lt;br /&gt;
&lt;br /&gt;
20061108 Added note this document is no longer usable since Cygwin has been unusable probably related to some bash/dos2unix change&lt;br /&gt;
&lt;br /&gt;
20070612 Added note about --enable-dca&lt;br /&gt;
&lt;br /&gt;
20080228 New version by [[User:J-b|jb]]&lt;br /&gt;
&lt;br /&gt;
20080307 Added --host=i686-pc-mingw32 option to the configure script&lt;br /&gt;
&lt;br /&gt;
20080311 Simplification&lt;br /&gt;
&lt;br /&gt;
20080323 Added some tips for Vista &lt;br /&gt;
&lt;br /&gt;
[[Category:Building]]&lt;br /&gt;
[[Category:Coding]]&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=DBus-spec&amp;diff=11388</id>
		<title>DBus-spec</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=DBus-spec&amp;diff=11388"/>
		<updated>2008-04-25T14:30:42Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Specification for a Common, Desktop neutral, Media Player D-Bus interface&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Please note this document is not specific to VLC and is a work in progress.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: red; font-weight: bold&amp;quot;&amp;gt;OBSOLETE, KEPT FOR HISTORICAL REASONS&lt;br /&gt;
&lt;br /&gt;
MPRIS discussion is at http://wiki.xmms2.xmms.se/index.php/Media_Player_Interfaces&lt;br /&gt;
&lt;br /&gt;
MPRIS specification is at http://wiki.xmms2.xmms.se/index.php/MPRIS&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
What follows has been largely stolen from http://bmpx.beep-media-player.org/site/MPRIS_Interfacing_Specification&lt;br /&gt;
&lt;br /&gt;
This is an attempt to create a specification for media players to use, for &#039;&#039;&#039;YOUR&#039;&#039;&#039; applications to be able to interact with &#039;&#039;&#039;ANY&#039;&#039;&#039; Media Player &#039;&#039;&#039;YOU&#039;&#039;&#039; want to use on &#039;&#039;&#039;ANY&#039;&#039;&#039; desktop &#039;&#039;&#039;YOU&#039;&#039;&#039; want to use.&lt;br /&gt;
&lt;br /&gt;
This is in the spirit of http://www.freedesktop.org and uses code and ideas from this project, most notably D-Bus : http://dbus.freedesktop.org and uses ideas from http://www.musicbrainz.org&lt;br /&gt;
&lt;br /&gt;
= Other players =&lt;br /&gt;
&lt;br /&gt;
How other &amp;quot;Media Players&amp;quot; interact with D-Bus&lt;br /&gt;
&lt;br /&gt;
== bmpx ==&lt;br /&gt;
&lt;br /&gt;
http://bmpx.beep-media-player.org/site/MPRIS_Interfacing_Specification&lt;br /&gt;
&lt;br /&gt;
== banshee ==&lt;br /&gt;
&lt;br /&gt;
http://cvs.gnome.org/viewcvs/*checkout*/banshee/src/Banshee.Base/DBusPlayer.cs&lt;br /&gt;
&lt;br /&gt;
== rhythmbox ==&lt;br /&gt;
&lt;br /&gt;
http://cvs.gnome.org/viewcvs/rhythmbox/remote/dbus/rb-client.c?view=markup&lt;br /&gt;
&lt;br /&gt;
== muine ==&lt;br /&gt;
&lt;br /&gt;
http://cvs.gnome.org/viewcvs/muine/DBusLib/Player.cs?view=markup&lt;br /&gt;
&lt;br /&gt;
== amarok ==&lt;br /&gt;
&lt;br /&gt;
http://amarok.kde.org/wiki/DCOP_Functions&lt;br /&gt;
(D-Bus will replace DCOP in KDE4, Amarok 2.0)&lt;br /&gt;
&lt;br /&gt;
== xmms 2 ==&lt;br /&gt;
&lt;br /&gt;
http://wiki.xmms2.xmms.se/index.php/MPRIS&lt;br /&gt;
&lt;br /&gt;
= Definitions =&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Media Player&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
An application, either with GUI or GUI-less (or which allows for both modes of operation) which is capable of playing back audio/video streams. The means by which it does accomplish that (e.g. which audio backend to use, and which output method) is out of the scope of this document.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Media Player&amp;quot; &#039;&#039;&#039;must&#039;&#039;&#039;:&lt;br /&gt;
* Be able to play back at least local storage file streams.&lt;br /&gt;
* Be able to play back at least one stream at a time.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Client&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
The Client is an unspecified application that will interact with the &amp;quot;Media Player&amp;quot; using D-Bus protocol.&lt;br /&gt;
For example:&lt;br /&gt;
&lt;br /&gt;
* A softphone, that pauses, or step the volume down, when a call is being received.&lt;br /&gt;
* An applet that nicely integrates in your desktop environment, to control your &amp;quot;Media Player&amp;quot;.&lt;br /&gt;
* An instant messaging client which informs your buddies of what you&#039;re listening to.&lt;br /&gt;
* A monitor that stores in a database what you are listening to, for statistics purpose.&lt;br /&gt;
* A video editing software that calls an external &amp;quot;Media Player&amp;quot; to preview your work.&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Tracklist&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
A list of media files which resides within the &amp;quot;Media Player&amp;quot;, and whose implementation is opaque to the remote interface.&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Tracklist&amp;quot; &#039;&#039;&#039;must&#039;&#039;&#039;:&lt;br /&gt;
* Hold an ordered list of locations of the media files as URIs (e.g. file:// or &amp;lt;nowiki&amp;gt;http://&amp;lt;/nowiki&amp;gt;). The implementation of this can be opaque, which means, it does not neccesarily need to store URIs, but upon remote request, it must be able to return an URI for a given media file.&lt;br /&gt;
* Keep the list in an ordered fashion. The order can be changed at any time trough e.g. sorting algorithms, in which case the &amp;quot;Media Player&amp;quot; must send information about the reordering trough it&#039;s remote interface&lt;br /&gt;
&lt;br /&gt;
The &amp;quot;Tracklist&amp;quot; &#039;&#039;&#039;can&#039;&#039;&#039;, but does not &#039;&#039;&#039;need&#039;&#039;&#039; to:&lt;br /&gt;
* Hold &amp;quot;Metadata&amp;quot; about media files&lt;br /&gt;
&lt;br /&gt;
== &amp;quot;Metadata&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
&amp;quot;Metadata&amp;quot; is data that the files carry within themselves as a means of self-identification (commonly known as &amp;quot;tags&amp;quot;), or data that has been retrieved about the files trough other means, e.g. an internet service that provides additional data about particular media files.&lt;br /&gt;
&amp;quot;Metadata&amp;quot; is an array of dict entries, like (&amp;quot;length&amp;quot;, 253), (&amp;quot;name&amp;quot;, &amp;quot;Bolero&amp;quot;), (&amp;quot;video-codec&amp;quot;, &amp;quot;DIVX&amp;quot;). The dict entry is in the form (string, variant) eg: {sv}.&lt;br /&gt;
&lt;br /&gt;
Furthermore, &amp;quot;Metadata&amp;quot; can be split into two categories:&lt;br /&gt;
&lt;br /&gt;
1) Technical metadata:&lt;br /&gt;
* &amp;quot;URI&amp;quot;:&amp;quot;s&amp;quot;&lt;br /&gt;
* &amp;quot;length&amp;quot;:&amp;quot;i&amp;quot; (length in seconds)&lt;br /&gt;
* &amp;quot;video-codec&amp;quot;:&amp;quot;s&amp;quot; (video codec as a fourcc)&lt;br /&gt;
* &amp;quot;audio-codec&amp;quot;:&amp;quot;s&amp;quot; (audio codec as a fourcc)&lt;br /&gt;
* &amp;quot;video-bitrate&amp;quot;:&amp;quot;i&amp;quot; video bitrate&lt;br /&gt;
* &amp;quot;audio-bitrate&amp;quot;:&amp;quot;i&amp;quot; audio bitrate&lt;br /&gt;
* &amp;quot;audio-samplerate&amp;quot;:&amp;quot;i&amp;quot; (audio samplerate)&lt;br /&gt;
&lt;br /&gt;
2) Informational metadata&lt;br /&gt;
* &amp;quot;name&amp;quot;:&amp;quot;s&amp;quot;&lt;br /&gt;
* &amp;quot;artist&amp;quot;:&amp;quot;s&amp;quot;&lt;br /&gt;
* &amp;quot;album&amp;quot;:&amp;quot;s&amp;quot;&lt;br /&gt;
* &amp;quot;unique-id&amp;quot;:&amp;quot;s&amp;quot; : Musicbrainz Track Identifier as specified on http://musicbrainz.org/docs/specs/metadata_tags.html&lt;br /&gt;
* &amp;quot;genre&amp;quot;:&amp;quot;s&amp;quot;&lt;br /&gt;
&lt;br /&gt;
This list is informative, and can be extended up to your needs, for example: &amp;quot;age of the captain&amp;quot;:&amp;quot;i&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Only Required fields are: &amp;quot;URI&amp;quot; and &amp;quot;length&amp;quot;&lt;br /&gt;
&lt;br /&gt;
= D-Bus =&lt;br /&gt;
&lt;br /&gt;
== The Service ==&lt;br /&gt;
&lt;br /&gt;
org.freedesktop.MediaPlayer&lt;br /&gt;
&lt;br /&gt;
All &amp;quot;Media Players&amp;quot; &#039;&#039;&#039;must&#039;&#039;&#039; request this name and do not let other &amp;quot;Media Players&amp;quot; &#039;steal&#039; this name.&lt;br /&gt;
Using libdbus, that would be:&lt;br /&gt;
&lt;br /&gt;
 DBusConnection *dbus_connection;&lt;br /&gt;
 DBusError dbus_error;&lt;br /&gt;
 dbus_bus_request_name( dbus_connection, &amp;quot;org.freedesktop.MediaPlayer&amp;quot;, 0, &amp;amp;dbus_error );&lt;br /&gt;
&lt;br /&gt;
To be able to request the name, and so, be able to communicate via D-Bus, no &amp;quot;Media Player&amp;quot; must be running. The &amp;quot;Media Player&amp;quot; may call the Quit method, and wait till the name is unregistered, to ensure this is the case.&lt;br /&gt;
&lt;br /&gt;
: I think this is a bad idea, it&#039;s not the place for a interop Spec to force single instance behaviour without a good reason (i run amarok all the time and use vlc to play videos or streams...). Why not suggest that mediaplayers register with the well known service name (&amp;quot;org.freedesktop.MediaPlayer&amp;quot;) with the options QueueService and suggest the media player should register an application specific service in addition?&lt;br /&gt;
&lt;br /&gt;
: if done that way we gain the feature to query the dbus daemon for all clients queued for that dbus name, so enumerating all current musicplayers that support the Spec is not problem. Contacting the players is not problem to because every client on dbus has a unique name anyway. DBus signal do AFAIK carry the dbus service name of the sending client, so there is no trouble knowing which player send a signal. [[User:textshell|textshell]]&lt;br /&gt;
&lt;br /&gt;
== The Object Hierarchy ==&lt;br /&gt;
&lt;br /&gt;
* / : Media Player identification&lt;br /&gt;
&lt;br /&gt;
* /Player : Playback control&lt;br /&gt;
&lt;br /&gt;
* /TrackList : TrackList management&lt;br /&gt;
&lt;br /&gt;
== The interface ==&lt;br /&gt;
&lt;br /&gt;
All methods must be accessed through the interface org.freedesktop.MediaPlayer&lt;br /&gt;
&lt;br /&gt;
i.e. calling Quit with qdbus would be:&lt;br /&gt;
 $ qdbus org.freedesktop.MediaPlayer /Player org.freedesktop.MediaPlayer.Quit&lt;br /&gt;
&lt;br /&gt;
== The Methods ==&lt;br /&gt;
&lt;br /&gt;
What&#039;s missing: we could use musicbrainz unique identifier to identify current element in the playlist&lt;br /&gt;
From fd.o : GetTrackList (using xspf?), ClearTrackList&lt;br /&gt;
&lt;br /&gt;
* /&lt;br /&gt;
&lt;br /&gt;
Identity : Identify the &amp;quot;Media Player&amp;quot; as in &amp;quot;VLC 0.9.0&amp;quot;, &amp;quot;bmpx 0.34.9&amp;quot;, &amp;quot;Totem 2.16.2&amp;quot; ...&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;Identity&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg type=&amp;quot;s&amp;quot; direction=&amp;quot;out&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /TrackList&lt;br /&gt;
&lt;br /&gt;
GetMetadata : Gives all meta data available for element at given position in the &amp;quot;TrackList&amp;quot;&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;method name=&amp;quot;GetMetadata&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;arg type=&amp;quot;i&amp;quot; direction=&amp;quot;in&amp;quot; /&amp;gt;&lt;br /&gt;
    &amp;lt;arg type=&amp;quot;a{sv}&amp;quot; direction=&amp;quot;out&amp;quot; /&amp;gt;&lt;br /&gt;
  &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GetCurrentTrack : Position of Current URI in the &amp;quot;TrackList&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;GetCurrentTrack&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg type=&amp;quot;i&amp;quot; direction=&amp;quot;out&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GetLength : Number of elements in the &amp;quot;TrackList&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;GetLength&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg type=&amp;quot;i&amp;quot; direction=&amp;quot;out&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
AddTrack : Appends an URI in the &amp;quot;TrackList&amp;quot;, play it immediately if the 2nd argument is TRUE&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;AddTrack&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg type=&amp;quot;s&amp;quot; /&amp;gt;&lt;br /&gt;
     &amp;lt;arg type=&amp;quot;b&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
DelTrack : Removes an URI from the &amp;quot;TrackList&amp;quot;, given its position&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;DelTrack&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg type=&amp;quot;i&amp;quot; /&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* /Player&lt;br /&gt;
&lt;br /&gt;
Next : Goes to the next element (what if we&#039;re at the end?)&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;Next&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Prev : Goes to the previous element (what if we&#039;re at the beginning?)&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;Prev&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Pause : If playing : pause. If paused : unpause. If stopped : start playing&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;Pause&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Stop : Stop playing.&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;Stop&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Play : If playing : rewind to the beginning of current track, else : start playing.&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;Play&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Quit : Makes the &amp;quot;Media Player&amp;quot; exit.&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;method name=&amp;quot;Quit&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GetStatus : Return the status of &amp;quot;Media Player&amp;quot;: 0 = Playing, 1 = Paused, 2 = Stopped.&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;GetStatus&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;arg type=&amp;quot;i&amp;quot; direction=&amp;quot;out&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
VolumeSet : Sets the volume (argument must be in [0;100])&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;VolumeSet&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;arg type=&amp;quot;i&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
GetVolume : Returns the current volume (must be in [0;100])&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;method name=&amp;quot;VolumeGet&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;arg type=&amp;quot;i&amp;quot; direction=&amp;quot;out&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PositionSet : Sets the playing position (argument must be in [0;100])&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;method name=&amp;quot;PositionSet&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;arg type=&amp;quot;i&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
PositionGet : Returns the playing position (must be in [0;100])&lt;br /&gt;
 &lt;br /&gt;
   &amp;lt;method name=&amp;quot;PositionGet&amp;quot;&amp;gt;&lt;br /&gt;
   &amp;lt;arg type=&amp;quot;i&amp;quot; direction=&amp;quot;out&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/method&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== The signals ==&lt;br /&gt;
&lt;br /&gt;
TrackChange : Signal is emitted when the &amp;quot;Media Player&amp;quot; plays another &amp;quot;Track&amp;quot;. Argument of the signal is the metadata attached to the new &amp;quot;Track&amp;quot;&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;signal name=&amp;quot;TrackChange&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg type=&amp;quot;a{sv}&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/signal&amp;gt;&lt;br /&gt;
&lt;br /&gt;
StatusChange : Signal is emitted when the status of the &amp;quot;Media Player&amp;quot; change. The argument has the same meaning than the value returned by GetStatus.&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;signal name=&amp;quot;StatusChange&amp;quot;&amp;gt;&lt;br /&gt;
    &amp;lt;arg type=&amp;quot;i&amp;quot;/&amp;gt;&lt;br /&gt;
   &amp;lt;/signal&amp;gt;&lt;br /&gt;
&lt;br /&gt;
CapabilityChange : [TODO] Signal is emitted when the &amp;quot;Media Player&amp;quot; changes capabilities, Flags are CAN_GO_NEXT CAN_GO_PREV CAN_PAUSE CAN_PLAY CAN_SEEK CAN_PROVIDE_METADATA PROVIDES_TIMING&lt;br /&gt;
&lt;br /&gt;
   &amp;lt;signal name=&amp;quot;CapabilityChange&amp;quot;&amp;gt;&lt;br /&gt;
     &amp;lt;arg type=TODO /&amp;gt;&lt;br /&gt;
   &amp;lt;/signal&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
* [http://bmpx.beep-media-player.org/site/MPRIS_Interfacing_Specification MPRIS Interfacing Specification] (BMPx wiki)&lt;br /&gt;
* [http://wiki.xmms2.xmms.se/index.php/Media_Player_Interfaces Media Player Interfaces] (XMMS2 wiki)&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
	<entry>
		<id>https://wiki.videolan.org/index.php?title=VLC_ECP_Project&amp;diff=10723</id>
		<title>VLC ECP Project</title>
		<link rel="alternate" type="text/html" href="https://wiki.videolan.org/index.php?title=VLC_ECP_Project&amp;diff=10723"/>
		<updated>2008-02-25T16:38:31Z</updated>

		<summary type="html">&lt;p&gt;Jpeg: Three people at ECP have a 2nd year project about VLC. This page describes their goals.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Five people from Ecole Centrale Paris ([[http://www.ecp.fr ECP]]) have a second year project related to VLC Media Player. Three of them work on VLC development : ivoire, phytos and JPeg.&lt;br /&gt;
&lt;br /&gt;
= Project ECP =&lt;br /&gt;
&lt;br /&gt;
== Main goal ==&lt;br /&gt;
&lt;br /&gt;
The main objective of our project is to create a Media Collection, or Media Library, based on an SQL database. This would allow people to use VLC Media Player as a real Media Center.&lt;br /&gt;
&lt;br /&gt;
The database will be used to store information about every medias, and create a collection with them. The database will be a little complex because VLC Media Player is able to read Videos, Musics, Streams from the Internet, ... and all of these medias have to be collected.&lt;br /&gt;
&lt;br /&gt;
== Git repository ==&lt;br /&gt;
&lt;br /&gt;
Thanks to pdherbemont, we have our own git branch in the VLC repository. See [[http://git2.videolan.org/?p=vlc-ecp-project.git;a=summary]] for more details.&lt;br /&gt;
&lt;br /&gt;
= Pending patches =&lt;br /&gt;
&lt;br /&gt;
Some of these patches may have already been included in the main SVN or Git repo.&lt;br /&gt;
&lt;br /&gt;
== Subtitles downloader ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;By JPeg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
I have written a module to automagically download subtitles from [[http://www.opensubtitles.org OpenSubtitles.Org]] and insert them in the Video playback. It is based on a lua script to fetch a list of subtitles from a webpage. This way allows us to implement other subtitles databases than only OpenSubtitles.Org.&lt;br /&gt;
&lt;br /&gt;
An user interface has been implemented only for Qt4.&lt;br /&gt;
&lt;br /&gt;
== Zip files extractor ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;By JPeg&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
As OpenSubtitles.Org does not provide directly .srt, .sub, etc... subtitles files but a .zip archive, I had to decompress the files. I just reused code from skins2 and create a simple module with it. This module, called extractzip provides functions to extract files from archives. (On 25 February 2008, it supports only ZIP compression model).&lt;br /&gt;
&lt;br /&gt;
It would be great to create a demux on this model, so that you don&#039;t need to extract files on the hard drive to read them.&lt;/div&gt;</summary>
		<author><name>Jpeg</name></author>
	</entry>
</feed>