<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">

<channel>
	<title>Planet VideoLAN</title>
	<link>http://planet.videolan.org/</link>
	<language>en</language>
	<description>Planet VideoLAN - http://planet.videolan.org/</description>
        <atom:link href="http://planet.videolan.org/rss20.xml" rel="self" type="application/rss+xml" />

<item>
	<title>Rémi Denis-Courmont: Other uses of futex</title>
	<guid>tag:remlab.net,2016:futex-misc</guid>
	<link>http://www.remlab.net/op/futex-misc.shtml</link>
	<description>Revisiting the condition variable with futex
     and pondering thread synchronization primitives.</description>
	<pubDate>Wed, 21 Sep 2016 15:05:00 +0000</pubDate>
</item>
<item>
	<title>Ludovic Fauvet: Unveiling interesting numbers about VLC downloads</title>
	<guid>https://blog.l0cal.com/2016/09/02/unveiling-interesting-numbers-about-vlc-downloads/</guid>
	<link>https://blog.l0cal.com/2016/09/02/unveiling-interesting-numbers-about-vlc-downloads/</link>
	<description>&lt;p&gt;Every year in September the VideoLAN community organize the &lt;strong&gt;Open Multimedia Conference&lt;/strong&gt; also known as the &lt;a href=&quot;https://vdd.videolan.org&quot;&gt;&lt;strong&gt;VideoLAN Developers Days&lt;/strong&gt;&lt;/a&gt; or for short VDD. This year it will take place in Berlin the 3rd and 4th of September. For this occasion I gathered some interesting data from the VideoLAN download servers.&lt;/p&gt;

&lt;div&gt;


    
        &lt;img src=&quot;https://blog.l0cal.com/images/vlc_logo.png&quot; /&gt;
    
    


&lt;/div&gt;

&lt;p&gt;First, let me start with a bit of context. &lt;a href=&quot;https://www.videolan.org&quot;&gt;VideoLAN&lt;/a&gt; is a (French) non-profit organization with 31 active members as of today. The non-profit acts as an umbrella for a lot of multimedia related projects like libVLC, x264, DVBlast, libbluray and &lt;a href=&quot;https://www.videolan.org/projects/&quot;&gt;more&lt;/a&gt;. But of course, the most known is also the one that eats up most our bandwidth: &lt;a href=&quot;https://www.videolan.org/vlc/&quot;&gt;VLC media player&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;On the infrastructure side we rely on &lt;a href=&quot;https://www.videolan.org/videolan/mirrors.html&quot;&gt;amazingly nice peoples and organizations&lt;/a&gt; all over the world that donate some of their bandwidth for a good cause. We host the main replication server also known as the rsync master and all the mirrors use the rsync protocol to fetch updates multiple times a day.&lt;/p&gt;

&lt;p&gt;When you&amp;rsquo;re heading up to the VideoLAN website to download VLC, a piece of software written in Go, called &lt;a href=&quot;https://github.com/etix/mirrorbits&quot;&gt;mirrorbits&lt;/a&gt;, will find in just a fraction of a second the closest mirror to you that is alive and serving the file you&amp;rsquo;re looking at. That way downloads are fast and reliable. Note: actually most of the numbers presented here were exported from the mirrobits database.&lt;/p&gt;

&lt;p&gt;Currently we have &lt;strong&gt;87 mirrors in 44 countries&lt;/strong&gt; and the total size of our repository is 46 GB. During the past year we had no major incident and no downtime (thanks to the redundancy) so that&amp;rsquo;s pretty close to a 100% availability.&lt;/p&gt;

&lt;p&gt;Just for the past month (August 2016), which is usually not the highest of the year in terms of traffic, &lt;strong&gt;568 TB were downloaded&lt;/strong&gt; from our mirrors. That&amp;rsquo;s an &lt;strong&gt;average of 1.7 Gbit/s&lt;/strong&gt; for the month and we counted &lt;strong&gt;23,794,472 downloads&lt;/strong&gt; for the same period. These numbers do not include the mobile ports (Android, iOS, WinRT) or the Linux versions which are served by their respective platforms.&lt;/p&gt;

&lt;p&gt;Let&amp;rsquo;s focus a bit on VLC. We only have (somewhat) accurate statistics for Windows (both 32 and 64-bit) and MacOS but it gives an interesting scale anyway: MacOS count approximately for &lt;sup&gt;1&lt;/sup&gt;&amp;frasl;&lt;sub&gt;10&lt;/sub&gt; th of the total. The Windows 64-bit version is surprisingly low but that&amp;rsquo;s because the 32-bit one is the default choice (and works on both 32 and 64-bit architectures).&lt;/p&gt;



    
        &lt;img src=&quot;https://blog.l0cal.com/images/charts/vlc-charts-oses-2013-2016.png&quot; /&gt;
    
    



&lt;p&gt;On this other chart you can compare the trend of the downloads for some of the recent versions of VLC&lt;sup class=&quot;footnote-ref&quot; id=&quot;fnref:versions&quot;&gt;&lt;a rel=&quot;footnote&quot; href=&quot;https://blog.l0cal.com/tags/videolan/index.xml#fn:versions&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. The peak of a release usually includes the automatic updates that are started in the week that follows (to ensure there is no major regression). For example the &lt;em&gt;2.2.2&lt;/em&gt; and &lt;em&gt;2.2.3&lt;/em&gt; were quite short-lived releases which did not get pushed through auto-updates because of bugs.&lt;/p&gt;



    
        &lt;img src=&quot;https://blog.l0cal.com/images/charts/vlc-charts-versions-2013-2016.png&quot; /&gt;
    
    



&lt;p&gt;Let&amp;rsquo;s finish with a fun fact. Few months ago I&amp;rsquo;ve setup a live downloads counter on the &lt;a href=&quot;https://www.videolan.org&quot;&gt;VideoLAN website&lt;/a&gt; (just below the big &lt;em&gt;Download VLC&lt;/em&gt; button). It started as a fun experiment but stayed that way ever since. Behind the scene is a websocket that connects to our download server as soon as you load the page, and receives updates until you leave the page. Simple.&lt;/p&gt;

&lt;p&gt;So that should give us an idea of how many users we have on our frontpage at any given time. After aggregating the results I got the improbable number of &lt;strong&gt;985 simultaneously connected users&lt;/strong&gt; on the videolan.org frontpage. We&amp;rsquo;re a popular website but still, 985 is a lot and it grows month after months&amp;hellip; weird. At best we should have around 300 connections tops. But since we don&amp;rsquo;t disconnect the websockets after a while it means you can basically stay connected forever! And some of these connections are up since weeks. So what are all these people doing here you may ask. Well, the reason is probably that a lot of these users went for a quick visit and didn&amp;rsquo;t close their tab since! Amazing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That&amp;rsquo;s all for today folks!&lt;/strong&gt; I hope you liked this article. Don&amp;rsquo;t forget to &lt;a href=&quot;https://twitter.com/etixxx&quot;&gt;follow me on Twitter&lt;/a&gt; and if you&amp;rsquo;re around Berlin this weekend, &lt;a href=&quot;https://www.videolan.org/videolan/events/vdd16/&quot;&gt;come and say hi&lt;/a&gt;!&lt;/p&gt;
&lt;div class=&quot;footnotes&quot;&gt;

&lt;hr /&gt;

&lt;ol&gt;
&lt;li id=&quot;fn:versions&quot;&gt;For more accurate VLC downloads statistics by version and refreshed every day, you can head to &lt;a href=&quot;https://www.videolan.org/vlc/stats/downloads.html&quot;&gt;https://www.videolan.org/vlc/stats/downloads.html&lt;/a&gt;.
 &lt;a class=&quot;footnote-return&quot; href=&quot;https://blog.l0cal.com/tags/videolan/index.xml#fnref:versions&quot;&gt;&lt;sup&gt;[return]&lt;/sup&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;</description>
	<pubDate>Fri, 02 Sep 2016 15:40:00 +0000</pubDate>
</item>
<item>
	<title>Jean-Baptiste Kempf: Last weeks in VideoLAN - 53</title>
	<guid>urn:md5:f80ef363efe621db63f6423f16972f13</guid>
	<link>http://www.jbkempf.com/blog/post/2016/Last-week-in-VideoLAN-53</link>
	<description>&lt;h2&gt;53rd VideoLAN report&lt;/h2&gt;


&lt;p&gt;During the core of the hot European summer, here is a &lt;a href=&quot;http://www.jbkempf.com/blog/tag/week&quot;&gt;weekly&lt;/a&gt; report about the&lt;strong&gt; last 2 weeks&lt;/strong&gt; in the  &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VLC&quot;&gt;VLC&lt;/a&gt; and &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VideoLAN&quot;&gt;VideoLAN&lt;/a&gt; communities!&lt;/p&gt;


&lt;p&gt;It was a bit calm, to be honest; and I'm a bit late to publish. Summer is the cause &lt;img src=&quot;http://www.jbkempf.com/blog/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;Features&lt;/h2&gt;


&lt;h3&gt;VLC&lt;/h3&gt;


&lt;p&gt;The week started by a lot of code cleanup and renaming for the &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Mac%20OS&quot;&gt;Mac OS&lt;/a&gt; interface. We also had improvements focus on the &lt;strong&gt;Sierra&lt;/strong&gt; release.&lt;/p&gt;


&lt;p&gt;On the decoding side, we've had some improvement for hardware decoding in &lt;strong&gt;Direct3D11&lt;/strong&gt;, focused on &lt;strong&gt;HEVC&lt;/strong&gt; decoding.&lt;/p&gt;


&lt;p&gt;We also had fixes for the &lt;a href=&quot;http://www.jbkempf.com/blog/tag/OSX&quot;&gt;OSX&lt;/a&gt; &lt;strong&gt;VideoToolbox&lt;/strong&gt; decoder, notably to be able to restart the decoder when required.&lt;/p&gt;


&lt;p&gt;A module supporting the &lt;strong&gt;AV1&lt;/strong&gt; from the &lt;em&gt;Alliance for Open Media&lt;/em&gt; was merged too. So far, it's only a decoder, and disabled by default.&lt;/p&gt;


&lt;p&gt;On the streaming side, the &lt;strong&gt;MP4 muxer&lt;/strong&gt; timestamps were fixed. It was also backported to the &lt;strong&gt;2.2.x&lt;/strong&gt; branch.&lt;/p&gt;


&lt;p&gt;We now have &lt;strong&gt;ARM64 assembly&lt;/strong&gt; for our deinterlacer, which will be very useful for &lt;a href=&quot;http://www.jbkempf.com/blog/tag/iOS&quot;&gt;iOS&lt;/a&gt;, &lt;strong&gt;Apple TV&lt;/strong&gt; and &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Android%20TV&quot;&gt;Android TV&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;Finally, we had fixes for &lt;strong&gt;RTSP&lt;/strong&gt; passwords saving in the &lt;em&gt;keystore&lt;/em&gt;, improvements for RTSP support and the &lt;strong&gt;H264&lt;/strong&gt; packetizer, and we added support for &lt;strong&gt;UTF8&lt;/strong&gt; filenames in &lt;strong&gt;FTP&lt;/strong&gt; directory listings, and support for &lt;em&gt;DiscNumber&lt;/em&gt; and &lt;em&gt;DiscTotal&lt;/em&gt; metadata in &lt;strong&gt;MP4&lt;/strong&gt;, and DNxHR!&lt;/p&gt;



&lt;h3&gt;Android&lt;/h3&gt;


&lt;p&gt;On &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Android&quot;&gt;Android&lt;/a&gt;, we've mostly fixed crashes, updated translations and pushed &lt;strong&gt;2.0.6&lt;/strong&gt; in production, on the play store.&lt;/p&gt;


&lt;p&gt;The work is mostly done now on the new media library code, that will be merged later.&lt;/p&gt;


&lt;h3&gt;WinRT&lt;/h3&gt;


&lt;p&gt;On &lt;a href=&quot;http://www.jbkempf.com/blog/tag/UWP&quot;&gt;UWP&lt;/a&gt;, the focus has been on the &lt;strong&gt;XBox 1&lt;/strong&gt;, and mostly on how we can upload files on the box, since we don't have access to the filesystem.&lt;/p&gt;


&lt;p&gt;The current solution is using an &lt;strong&gt;HTTP webserver&lt;/strong&gt; to upload the files from your browser, and support for USB disks.&lt;/p&gt;


&lt;h4&gt;&lt;/h4&gt;


&lt;p&gt;That's all for those weeks, see you next!&lt;/p&gt;</description>
	<pubDate>Thu, 25 Aug 2016 15:50:00 +0000</pubDate>
</item>
<item>
	<title>Rémi Duraffort: A faster YAML loader</title>
	<guid>tag:ivoire.dinauz.org,2016-08-20:blog/post/2016/08/20/A-faster-YAML-loader/</guid>
	<link>http://ivoire.dinauz.org/blog/post/2016/08/20/A-faster-YAML-loader/</link>
	<description>&lt;p&gt;That's the second issue I had when playing with the
&lt;a href=&quot;https://validation.linaro.org&quot;&gt;LAVA&lt;/a&gt; log viewer.&lt;/p&gt;
&lt;p&gt;In the new versions of LAVA, the logs are formatted in YAML:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;p p-Indicator&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;dt&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;2016-08-18T14:24:01.096308&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;lvl&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;info&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;msg&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;start:&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;tftp-deploy&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;(max&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;300s)&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p p-Indicator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;p p-Indicator&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;dt&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;2016-08-18T14:24:01.099413&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;lvl&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;debug&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;msg&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;start:&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;1.1&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;download_retry&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;(max&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;300s)&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p p-Indicator&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;p p-Indicator&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&amp;quot;dt&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;2016-08-18T14:24:01.100674&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;lvl&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;debug&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;msg&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&amp;quot;start:&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;1.1.1&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;file_download&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;(max&lt;/span&gt;&lt;span class=&quot;nv&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;300s)&amp;quot;&lt;/span&gt;&lt;span class=&quot;p p-Indicator&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;That's really convenient, but when a job is generating a lot of logs, loading
this YAML files is becoming longer and longer:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;% &lt;span class=&quot;nb&quot;&gt;time&lt;/span&gt; python -c &lt;span class=&quot;s2&quot;&gt;&amp;quot;import yaml; y=yaml.load(open('output.yaml'));&amp;quot;&lt;/span&gt;
18,25s user 0,23s system 100% cpu 18,475 total
% wc -l output.yaml
&lt;span class=&quot;m&quot;&gt;36817&lt;/span&gt; output.yaml
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;But &lt;strong&gt;18s&lt;/strong&gt; to load &lt;strong&gt;36817&lt;/strong&gt; lines of text sounds unreasonable. I looked for
some explanation and found that by default, the Python YAML parser, is using
the Pure-Python loader instead of the (way) faster C implementation.&lt;/p&gt;
&lt;p&gt;So, in order to use the faster C implementation, you should use:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;% &lt;span class=&quot;nb&quot;&gt;time&lt;/span&gt; python -c &lt;span class=&quot;s2&quot;&gt;&amp;quot;import yaml; y=yaml.load(open('output.yaml'), Loader=yaml.CLoader);&amp;quot;&lt;/span&gt;
2,28s user 0,06s system 99% cpu 2,346 total
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;That's still really slow, but we can live with that for the moment.&lt;/p&gt;</description>
	<pubDate>Sat, 20 Aug 2016 06:16:00 +0000</pubDate>
</item>
<item>
	<title>Rémi Duraffort: Playing with CSS rules</title>
	<guid>tag:ivoire.dinauz.org,2016-08-12:blog/post/2016/08/12/Playing-with-CSS-rules/</guid>
	<link>http://ivoire.dinauz.org/blog/post/2016/08/12/Playing-with-CSS-rules/</link>
	<description>&lt;p&gt;While working on improving the log viewer in
&lt;a href=&quot;https://validation.linaro.org&quot;&gt;LAVA&lt;/a&gt; I ran into an issue.&lt;/p&gt;
&lt;p&gt;The issue is really simple: how to add &lt;em&gt;display: block&lt;/em&gt; or &lt;em&gt;display: none&lt;/em&gt; to
a list of nodes &lt;strong&gt;while&lt;/strong&gt; another JS script is adding more of theses nodes to
the page.&lt;/p&gt;
&lt;p&gt;The classical approach is to select the right nodes and apply the CSS rule.
When the second script is adding nodes, you have to redo the selection.
As you have many nodes (one per line of log) the update will be really slow.&lt;/p&gt;
&lt;p&gt;Something like this would work:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;// Update the page&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;ajax&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()({&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;...&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;});&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// Update the css rule for the new blocks&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;my_selector&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;css&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'display'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'block'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;h1&gt;Creating a Style Sheet&lt;/h1&gt;
&lt;p&gt;Instead of adding a CSS rule to every nodes, we can &lt;em&gt;mark&lt;/em&gt; theses nodes with a
&lt;em&gt;class&lt;/em&gt; and change the CSS rules for this class whenever needed.&lt;/p&gt;
&lt;p&gt;I discovered in the Mozilla documentation that it's possible (in JavaScript) to
create a Style Sheet and to add or remove rules in it.&lt;/p&gt;
&lt;p&gt;To create a new Style sheet, you just have to add a &lt;strong&gt;style&lt;/strong&gt; section in the
&lt;strong&gt;head&lt;/strong&gt; with:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;sheet&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kd&quot;&gt;function&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;var&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;createElement&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;style&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;nb&quot;&gt;document&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;head&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;appendChild&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;return&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;sheet&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;It's then possible to insert rules into the Style Sheet with
&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/insertRule&quot;&gt;insertRule&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;// Insert at the top of the Style Sheet&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;sheet&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;insertRule&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;.mylabel { display: block }&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;

&lt;span class=&quot;c1&quot;&gt;// Or better, at the end&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;sheet&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;insertRule&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&amp;quot;.mylabel { display: none}&amp;quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;sheet&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;cssRules&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;length&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;It's also possible to remove rules from the Style Sheet by using their indexes
with
&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/CSSStyleSheet/deleteRule&quot;&gt;deleteRule&lt;/a&gt;:&lt;/p&gt;
&lt;div class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;// Remove the first rule&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;sheet&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;deleteRule&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;0&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;span class=&quot;c1&quot;&gt;// Remove the last one added&lt;/span&gt;
&lt;span class=&quot;nx&quot;&gt;sheet&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;deleteRule&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;sheet&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;cssRules&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nx&quot;&gt;length&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;-&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;1&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;);&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;With theses two function, you have everything you need to create a specific
rule and update it whenever needed. You just have to keep track of his index.&lt;/p&gt;</description>
	<pubDate>Fri, 12 Aug 2016 13:30:00 +0000</pubDate>
</item>
<item>
	<title>Jean-Baptiste Kempf: Last week in VideoLAN - 52</title>
	<guid>urn:md5:61c1460016895e52dee0cbf2ca1c34e4</guid>
	<link>http://www.jbkempf.com/blog/post/2016/Last-week-in-VideoLAN-52</link>
	<description>&lt;h2&gt;52nd VideoLAN report&lt;/h2&gt;


&lt;p&gt;Another summer week passes by and here is a new &lt;a href=&quot;http://www.jbkempf.com/blog/tag/week&quot;&gt;weekly&lt;/a&gt; report about the &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VLC&quot;&gt;VLC&lt;/a&gt; and &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VideoLAN&quot;&gt;VideoLAN&lt;/a&gt; communities!&lt;/p&gt;


&lt;h2&gt;Features&lt;/h2&gt;


&lt;h3&gt;VLC&lt;/h3&gt;


&lt;p&gt;The week started with numerous additions to the &lt;strong&gt;Direct3D&lt;/strong&gt; video accelerations and video outputs, to continue the support for &lt;strong&gt;10bits&lt;/strong&gt; decoding and &lt;strong&gt;HDR&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;Related to those improvements, we added support for hardware decoding of &lt;strong&gt;HEVC&lt;/strong&gt; decoding inside the &lt;em&gt;TS&lt;/em&gt; format, by improving our &lt;em&gt;HEVC packetizer&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;We fixed &lt;em&gt;(actually added)&lt;/em&gt; the support of &lt;em&gt;QuickTime Videos&lt;/em&gt; inside &lt;strong&gt;MKV&lt;/strong&gt;, aka MP4-inside-MKV; and also the support for &lt;em&gt;QuickTime Audio&lt;/em&gt; inside &lt;strong&gt;MKV&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;We improved again the &lt;strong&gt;ChromeCast&lt;/strong&gt; support, by fixing small issues, notably when reloading and stopping the stream.&lt;/p&gt;


&lt;p&gt;In the core, an important deadlock was killed, that was affecting &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Windows&quot;&gt;Windows&lt;/a&gt; and &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Android&quot;&gt;Android&lt;/a&gt; platforms.&lt;/p&gt;


&lt;p&gt;Finally, we also did a fix for hidden chapters in &lt;strong&gt;MKV&lt;/strong&gt;, and improved the &lt;strong&gt;MIDI&lt;/strong&gt; integration for Windows, and reworked a bit our contrib system.&lt;/p&gt;


&lt;h3&gt;Android&lt;/h3&gt;


&lt;p&gt;On &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Android&quot;&gt;Android&lt;/a&gt;, we finally fixed the support for old x86 Phones like the &lt;strong&gt;ZenPhone&lt;/strong&gt; that claimed to be &lt;strong&gt;ARM&lt;/strong&gt; phones. Those phones lie about their CPU with &lt;code&gt;CPU_ABI&lt;/code&gt;, &lt;code&gt;CPU_ABI&lt;/code&gt; &lt;strong&gt;AND&lt;/strong&gt; they expose a fake &lt;code&gt;/proc/cpuinfo&lt;/code&gt; to the applications! Thanks to a contact at &lt;strong&gt;ASUS&lt;/strong&gt;, we got a phone and coded a work-around.&lt;/p&gt;


&lt;p&gt;We also added support for &lt;em&gt;saving audio-delay&lt;/em&gt; when using your &lt;strong&gt;Bluetooth&lt;/strong&gt; headphones, so that you have a different audio-delay when using those headphones than without headphones.&lt;/p&gt;


&lt;p&gt;Finally, we fixed a few crashes and regressions that were reported against the last release.&lt;/p&gt;


&lt;h3&gt;WinRT&lt;/h3&gt;


&lt;p&gt;On &lt;a href=&quot;http://www.jbkempf.com/blog/tag/UWP&quot;&gt;UWP&lt;/a&gt;, the biggest focus was on cleaning the code and on the &lt;strong&gt;Xbox 1&lt;/strong&gt; interface.&lt;/p&gt;


&lt;p&gt;More to come soon, I hope!&lt;/p&gt;


&lt;h3&gt;libbluray&lt;/h3&gt;


&lt;p&gt;We've had a lot of small fixes for &lt;a href=&quot;http://www.jbkempf.com/blog/tag/libbluray&quot;&gt;libbluray&lt;/a&gt;, mostly on fixing issues and crashes reported by static analyzers, but also &lt;strong&gt;build&lt;/strong&gt; issues, &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Windows&quot;&gt;Windows&lt;/a&gt; issues, and crashes reported by the users.&lt;/p&gt;


&lt;h3&gt;&lt;/h3&gt;


&lt;p&gt;That's all for this summer week! See you next!&lt;/p&gt;</description>
	<pubDate>Mon, 08 Aug 2016 16:54:00 +0000</pubDate>
</item>
<item>
	<title>Jean-Baptiste Kempf: Last week in VideoLAN - 51</title>
	<guid>urn:md5:568a3a27e5d5e0c9c76930acdbf48ac2</guid>
	<link>http://www.jbkempf.com/blog/post/2016/Last-week-in-VideoLAN-51</link>
	<description>&lt;h2&gt;51st VideoLAN report&lt;/h2&gt;


&lt;p&gt;So, after a few crazy weeks, I'm coming back to a more regular schedule for my &lt;a href=&quot;http://www.jbkempf.com/blog/tag/week&quot;&gt;weekly&lt;/a&gt; reports about &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VLC&quot;&gt;VLC&lt;/a&gt; and &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VideoLAN&quot;&gt;VideoLAN&lt;/a&gt;.&lt;/p&gt;


&lt;h2&gt;Features&lt;/h2&gt;


&lt;h3&gt;VLC&lt;/h3&gt;

&lt;h4&gt;Decoder fallback&lt;/h4&gt;

&lt;p&gt;The major change, during last week, was the possibility to &lt;em&gt;restart the audio decoders&lt;/em&gt; when the audio device changes.&lt;br /&gt;
This is very useful when you switch from normal decoders to &lt;strong&gt;SPDIF/HDMI&lt;/strong&gt; pass-through for &lt;strong&gt;DTS&lt;/strong&gt;, &lt;strong&gt;Dolby&lt;/strong&gt; and related codecs.&lt;/p&gt;


&lt;p&gt;In the past, &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VLC&quot;&gt;VLC&lt;/a&gt; could only &lt;em&gt;restart the filters&lt;/em&gt;, not the decoders, so our Dolby and DTS decoders were actually filters. This was finally changed and now &lt;ins&gt;decoders are decoders&lt;/ins&gt;.&lt;/p&gt;


&lt;p&gt;For those who don't understand what all this means, it means that it will help us support more formats for pass-through over &lt;strong&gt;HDMI&lt;/strong&gt;, like &lt;strong&gt;DolbyDigital+&lt;/strong&gt; or &lt;strong&gt;DTS-HD&lt;/strong&gt;.&lt;/p&gt;


&lt;h4&gt;Modules&lt;/h4&gt;

&lt;p&gt;We've fixed the &lt;em&gt;green line&lt;/em&gt; that appears only on &lt;strong&gt;AMD&lt;/strong&gt; GPUs on &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Windows&quot;&gt;Windows&lt;/a&gt;. This is scheduled for the next &lt;strong&gt;Windows&lt;/strong&gt; update.&lt;/p&gt;


&lt;p&gt;I've implemented the support for browsing &lt;strong&gt;FTP&lt;/strong&gt; remote directories, so that it behaves similarly to &lt;strong&gt;SFTP&lt;/strong&gt; or &lt;strong&gt;SMB&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;On &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Windows&quot;&gt;Windows&lt;/a&gt;, we've added the support for &lt;strong&gt;hardware decoding&lt;/strong&gt; of &lt;strong&gt;10bits HEVC&lt;/strong&gt; , using &lt;em&gt;DxVA&lt;/em&gt; and &lt;em&gt;D3D11&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;We also pushed improvements to the prefetcher module and to our &lt;strong&gt;TTML&lt;/strong&gt; support; and we've fixed issues for &lt;strong&gt;DVD&lt;/strong&gt; menus, &lt;strong&gt;SAT&amp;gt;IP&lt;/strong&gt; protocol and &lt;strong&gt;HLS&lt;/strong&gt; protocol.&lt;/p&gt;


&lt;p&gt;Finally, please note that the license of the &lt;strong&gt;UPnP&lt;/strong&gt; module was switched from &lt;em&gt;GPL&lt;/em&gt; to &lt;em&gt;LGPL&lt;/em&gt;.&lt;/p&gt;


&lt;h3&gt;Android&lt;/h3&gt;


&lt;p&gt;On &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Android&quot;&gt;Android&lt;/a&gt;, we've fixed a few issues related to old devices, and we've improved the &lt;a href=&quot;http://www.jbkempf.com/blog/tag/libVLC&quot;&gt;libVLC&lt;/a&gt; Java bindings to support statistics.&lt;/p&gt;


&lt;h3&gt;WinRT&lt;/h3&gt;


&lt;p&gt;Last week on &lt;a href=&quot;http://www.jbkempf.com/blog/tag/WinRT&quot;&gt;WinRT&lt;/a&gt;, we've removed all the code that was focusing on older versions of Windows.&lt;/p&gt;


&lt;p&gt;The codebase now support only &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Windows%2010&quot;&gt;Windows 10&lt;/a&gt; &lt;strong&gt;Universal&lt;/strong&gt; with its &lt;q&gt;Anniversary Edition&lt;/q&gt; version.&lt;/p&gt;


&lt;h3&gt;&lt;/h3&gt;

&lt;p&gt;That's all for this week!&lt;/p&gt;


&lt;p&gt;Thanks for the support and see you soon!&lt;/p&gt;</description>
	<pubDate>Wed, 03 Aug 2016 11:37:00 +0000</pubDate>
</item>
<item>
	<title>Jean-Baptiste Kempf: Last weeks in VideoLAN - 50</title>
	<guid>urn:md5:8d946e14488f75c666fd83cacf60e58e</guid>
	<link>http://www.jbkempf.com/blog/post/2016/This-week-in-VideoLAN-50</link>
	<description>&lt;h2&gt;50th VideoLAN report&lt;/h2&gt;


&lt;p&gt;So, after  a few crazy weeks, I was taken a bit by &lt;strong&gt;RealLife©®&lt;/strong&gt;, and we've had 3 &lt;a href=&quot;http://www.jbkempf.com/blog/tag/week&quot;&gt;weeks&lt;/a&gt; without report. And this one is late. &lt;img src=&quot;http://www.jbkempf.com/blog/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;Therefore, here is a new &lt;a href=&quot;http://www.jbkempf.com/blog/tag/week&quot;&gt;report&lt;/a&gt; about the &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VLC&quot;&gt;VLC&lt;/a&gt; and &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VideoLAN&quot;&gt;VideoLAN&lt;/a&gt; communities, covering the last 3 weeks!&lt;/p&gt;


&lt;p&gt;The report will be a bit more summarized that usual, and more dense in information, for obvious reasons. &lt;img src=&quot;http://www.jbkempf.com/blog/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;h2&gt;Features&lt;/h2&gt;


&lt;h3&gt;VLC&lt;/h3&gt;


&lt;p&gt;We've added support for codecs with colors in 12bit-depth, in &lt;strong&gt;YUV&lt;/strong&gt;  &lt;em&gt;4:2:0&lt;/em&gt;, &lt;em&gt;4:2:2&lt;/em&gt; and &lt;em&gt;4:4:4&lt;/em&gt;. Of course, nothing can display that yet, but it can happen in some &lt;strong&gt;HEVC&lt;/strong&gt; samples. It will be dithered down before displaying.&lt;/p&gt;


&lt;p&gt;The &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Windows&quot;&gt;Windows&lt;/a&gt; users will be happy, because we're reintroducing the &lt;strong&gt;MIDI&lt;/strong&gt; support, using a new library called &lt;a href=&quot;https://github.com/divideconcept/FluidLite&quot;&gt;FluidLite&lt;/a&gt;, in order to replace FluidSynth.&lt;/p&gt;


&lt;p&gt;A new protocol to control and distribute satellite signals on a LAN called &lt;strong&gt;SAT&amp;gt;IP&lt;/strong&gt; was implemented in a new &lt;em&gt;access&lt;/em&gt; module.&lt;/p&gt;


&lt;p&gt;There was a lot of work and rework on our &lt;strong&gt;adaptive&lt;/strong&gt; support, notably to change timings and drain, but also to start supporting &lt;strong&gt;HLS&lt;/strong&gt; using &lt;em&gt;mp4&lt;/em&gt; fragments.&lt;/p&gt;


&lt;p&gt;Some work on &lt;em&gt;URL&lt;/em&gt; and &lt;em&gt;URI&lt;/em&gt; was done to support more cases and improve test coverage. 2 new functions called &lt;code&gt;vlc_uri_resolve()&lt;/code&gt; and &lt;code&gt;vlc_uri_compose()&lt;/code&gt; were introduced.&lt;br /&gt;
At the same time, modifications on the &lt;strong&gt;HTTP&lt;/strong&gt; redirections were merged.&lt;/p&gt;


&lt;p&gt;On &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Windows&quot;&gt;Windows&lt;/a&gt;, we merged the &lt;strong&gt;VP9&lt;/strong&gt; hardware decoding, using the &lt;strong&gt;DxVA&lt;/strong&gt; APIs.&lt;br /&gt;
This code requires very recent video cards to be usable.&lt;/p&gt;


&lt;p&gt;Finally, an important work was done to merge the &lt;strong&gt;access&lt;/strong&gt; and &lt;strong&gt;stream-filter&lt;/strong&gt; behavior and semantics. The 2 type of modules still exist, but a large part of the code is now common.&lt;br /&gt;
This allows now &lt;em&gt;block-based&lt;/em&gt; stream filters.&lt;/p&gt;


&lt;p&gt;To achieve this, we now have introduced the &lt;code&gt;vlc_stream_Eof()&lt;/code&gt;, &lt;code&gt;vlc_stream_ReadBlock()&lt;/code&gt; and &lt;code&gt;vlc_stream_ReadPartial()&lt;/code&gt; functions.&lt;/p&gt;


&lt;p&gt;Finally, we added support for &lt;strong&gt;MP4&lt;/strong&gt; chapters in Unicode, and we fixed some Qt sizing issues with &lt;strong&gt;Qt5&lt;/strong&gt;, a &lt;strong&gt;DLL&lt;/strong&gt; loading potential security issue for Win32, &lt;em&gt;MP4&lt;/em&gt; subtitles size, a &lt;em&gt;WMV&lt;/em&gt; integer overflow, a crash in &lt;em&gt;smem&lt;/em&gt;, the &lt;em&gt;Qt&lt;/em&gt; right-click menu on the playlist, &lt;strong&gt;SFTP&lt;/strong&gt; browsing, and the audio fingerprinter. We also improved the &lt;strong&gt;HTTP/2&lt;/strong&gt; stack, our &lt;strong&gt;TS&lt;/strong&gt; demuxer when dealing with scrambled content, and a few other minor things I forgot.&lt;/p&gt;


&lt;h3&gt;Android&lt;/h3&gt;


&lt;p&gt;On &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Android&quot;&gt;Android&lt;/a&gt;, we've pushed &lt;strong&gt;2.0.3&lt;/strong&gt;, &lt;strong&gt;2.0.4&lt;/strong&gt; and &lt;strong&gt;2.0.5&lt;/strong&gt; to fix the most important issues and regressions reported.&lt;/p&gt;


&lt;p&gt;However, we also added a few features notably:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Support for HTTP proxies,&lt;/li&gt;
&lt;li&gt;Support for HTTPS self-signed certificates,&lt;/li&gt;
&lt;li&gt;Subtitles style modification in preferences,&lt;/li&gt;
&lt;li&gt;Improvements for SMB browsing,&lt;/li&gt;
&lt;li&gt;Support for more ARMv8 devices.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;And we also added, in the main branch, some modifications about preferences, and adding new ones.&lt;/p&gt;


&lt;h3&gt;iOS&lt;/h3&gt;


&lt;p&gt;The &lt;a href=&quot;http://www.jbkempf.com/blog/tag/iOS&quot;&gt;iOS&lt;/a&gt; buildsystem was modified to support full &lt;strong&gt;cocoapod&lt;/strong&gt; building, so you can compile just the application, without compiling &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VLC&quot;&gt;VLC&lt;/a&gt; and &lt;a href=&quot;http://www.jbkempf.com/blog/tag/libVLC&quot;&gt;libVLC&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;This important change introduced quite a bit of cleaning of the code and of the project. :D&lt;/p&gt;


&lt;h3&gt;WinRT&lt;/h3&gt;


&lt;p&gt;On &lt;a href=&quot;http://www.jbkempf.com/blog/tag/WinRT&quot;&gt;WinRT&lt;/a&gt;, we've prepared a &lt;strong&gt;MediaCenter Mode&lt;/strong&gt; for the Xbox 1.&lt;/p&gt;


&lt;p&gt;We fixed numerous interface issues and crashes, that were reported in &lt;strong&gt;2.0.1&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;A few fixes where pushed also to address issues happening with specific themes or specific resolutions in responsive mode.&lt;/p&gt;


&lt;h3&gt;&lt;/h3&gt;

&lt;p&gt;That's all for those weeks! There is probably a bit more I forgot about, but you should have the important parts.&lt;/p&gt;


&lt;p&gt;See you soon!&lt;/p&gt;</description>
	<pubDate>Thu, 28 Jul 2016 13:22:00 +0000</pubDate>
</item>
<item>
	<title>Jean-Baptiste Kempf: Last weeks in VideoLAN - 49</title>
	<guid>urn:md5:d900c015938b0d1c0336a4a5101f1932</guid>
	<link>http://www.jbkempf.com/blog/post/2016/This-week-in-VideoLAN-49</link>
	<description>&lt;h2&gt;49th VideoLAN report&lt;/h2&gt;


&lt;p&gt;So, after &lt;a href=&quot;http://www.jbkempf.com/blog/post/2016/VLC-for-Android-2.0&quot;&gt;two&lt;/a&gt; &lt;a href=&quot;http://www.jbkempf.com/blog/post/2016/Announcing-VLC-for-UWP-2.0&quot;&gt;busy&lt;/a&gt; &lt;a href=&quot;http://www.jbkempf.com/blog/tag/week&quot;&gt;weeks&lt;/a&gt;, you can get a new &lt;a href=&quot;http://www.jbkempf.com/blog/tag/week&quot;&gt;weekly&lt;/a&gt; report about  the &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VLC&quot;&gt;VLC&lt;/a&gt; and &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VideoLAN&quot;&gt;VideoLAN&lt;/a&gt; communities!&lt;/p&gt;


&lt;h2&gt;Releases&lt;/h2&gt;


&lt;h3&gt;Android&lt;/h3&gt;

&lt;p&gt;10 days ago, we released &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Android&quot;&gt;VLC for Android&lt;/a&gt; &lt;strong&gt;2.0&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;After a long period of development, we're finally at a release that supports more features than the old 0.9.x versions and the 1.7.x versions.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jbkempf.com/blog/public/VideoLAN/Android/2.0.0/Nexus_9_-_Video_View.png&quot; title=&quot;Video List&quot;&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/Android/2.0.0/.Nexus_9_-_Video_View_m.png&quot; alt=&quot;Video List&quot; title=&quot;Video List, Jun 2016&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;UWP&lt;/h3&gt;


&lt;p&gt;And last week, we released the new &lt;a href=&quot;http://www.jbkempf.com/blog/tag/UWP&quot;&gt;VLC for Windows 10&lt;/a&gt;, numbered &lt;strong&gt;2.0&lt;/strong&gt; too.&lt;/p&gt;


&lt;p&gt;It is a continuation of the work we did for &lt;a href=&quot;http://www.jbkempf.com/blog/tag/WinRT&quot;&gt;WinRT&lt;/a&gt;, the kickstarter, focused on Windows 8.1, Windows Phone 8.1 and Windows RT.&lt;/p&gt;


&lt;p&gt;The new application should supersede the old one.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/Black.png&quot; title=&quot;Black.png&quot;&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/.Black_m.png&quot; alt=&quot;Black.png&quot; title=&quot;Black.png, Jun 2016&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h2&gt;Features&lt;/h2&gt;


&lt;h3&gt;VLC&lt;/h3&gt;


&lt;p&gt;In the last 2 weeks, we improved the &lt;strong&gt;ChromeCast&lt;/strong&gt; support, notably to work on transmitting the pause status and the title between the device and VLC, and we also changed the interface to scan for devices, since it was a bit confusing.&lt;/p&gt;


&lt;p&gt;We added support for some uncompressed video format inside &lt;strong&gt;MKV&lt;/strong&gt;, for the &lt;em&gt;AlbumArtist&lt;/em&gt; meta-tag inside &lt;strong&gt;mp4&lt;/strong&gt; and we now support more &lt;strong&gt;MicroDVD&lt;/strong&gt; subtitles styles.&lt;/p&gt;


&lt;p&gt;Our new &lt;strong&gt;Kwallet&lt;/strong&gt; module was transitioned from using &lt;em&gt;libKwallet&lt;/em&gt; to &lt;strong&gt;DBus&lt;/strong&gt;. This will be better to support both &lt;strong&gt;Qt4&lt;/strong&gt; and &lt;strong&gt;Qt5&lt;/strong&gt; applications with &lt;a href=&quot;http://www.jbkempf.com/blog/tag/libVLC&quot;&gt;libVLC&lt;/a&gt;, because those versions are not ABI compatible.&lt;/p&gt;


&lt;p&gt;The core gained a new &lt;strong&gt;stream FIFO&lt;/strong&gt; API, with functions like &lt;code&gt;vlc_stream_fifo_New&lt;/code&gt;, &lt;code&gt;vlc_stream_fifo_Queue&lt;/code&gt;, &lt;code&gt;vlc_stream_fifo_Write&lt;/code&gt; and &lt;code&gt;vlc_stream_fifo_Close&lt;/code&gt;.&lt;br /&gt;
This change, in addition to the new &lt;strong&gt;chained_demux&lt;/strong&gt; implementation in the core, removes the need for &lt;strong&gt;stream_Demux&lt;/strong&gt; &lt;em&gt;(now removed)&lt;/em&gt;.&lt;/p&gt;


&lt;p&gt;We also improved the security when loading of DLLs on &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Windows&quot;&gt;Windows&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;And for &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Android&quot;&gt;Android&lt;/a&gt;, AudioTrack &lt;strong&gt;DTS&lt;/strong&gt; pass-through was implemented.&lt;/p&gt;


&lt;p&gt;Finally, numerous fixes were pushed, notably for &lt;strong&gt;Direct3D11&lt;/strong&gt;, our contribs, some in the core, youtube playback regressions, the &lt;strong&gt;Mac OS&lt;/strong&gt; interface, crashes for &lt;em&gt;MMDevice&lt;/em&gt; device, and for the &lt;em&gt;MediaCodec&lt;/em&gt; decoders. And more that I forget...&lt;/p&gt;


&lt;h3&gt;Android&lt;/h3&gt;


&lt;p&gt;As I said, &lt;a href=&quot;http://www.jbkempf.com/blog/post/2016/VLC-for-Android-2.0&quot;&gt;we released 2.0&lt;/a&gt;, and we also pushed &lt;strong&gt;2.0.1&lt;/strong&gt; and &lt;strong&gt;2.0.2&lt;/strong&gt; to fix the most important crashes reported.&lt;/p&gt;



&lt;h3&gt;WinRT&lt;/h3&gt;


&lt;p&gt;Same, &lt;a href=&quot;http://www.jbkempf.com/blog/post/2016/Announcing-VLC-for-UWP-2.0&quot;&gt;we released 2.0&lt;/a&gt;, the first beta version of the &lt;a href=&quot;http://www.jbkempf.com/blog/tag/UWP&quot;&gt;UWP&lt;/a&gt; application. Fixup releases are coming soon!&lt;/p&gt;


&lt;h3&gt;iOS&lt;/h3&gt;


&lt;p&gt;On &lt;a href=&quot;http://www.jbkempf.com/blog/tag/iOS&quot;&gt;iOS&lt;/a&gt;, we pushed the promised update and we had a few refactoring, notably on the network login view.&lt;/p&gt;


&lt;h3&gt;libbluray&lt;/h3&gt;


&lt;p&gt;The &lt;a href=&quot;http://www.jbkempf.com/blog/tag/libbluray&quot;&gt;libbluray&lt;/a&gt; code was modified to support &lt;strong&gt;8.3&lt;/strong&gt; filenames, like in &lt;strong&gt;AVCHD&lt;/strong&gt; directories we see in camcorders. This is the first step for full AVCHD support in &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VLC&quot;&gt;VLC&lt;/a&gt; &lt;img src=&quot;http://www.jbkempf.com/blog/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;h3&gt;&lt;/h3&gt;

&lt;p&gt;That's all for those weeks! Not too bad &lt;img src=&quot;http://www.jbkempf.com/blog/themes/default/smilies/smile.png&quot; alt=&quot;:)&quot; class=&quot;smiley&quot; /&gt;&lt;/p&gt;


&lt;p&gt;See you soon!&lt;/p&gt;</description>
	<pubDate>Tue, 05 Jul 2016 14:14:00 +0000</pubDate>
</item>
<item>
	<title>Rémi Denis-Courmont: Hong Kong Open Source Conference 2016</title>
	<guid>tag:remlab.net,2016:vlc-3.0-hkosc</guid>
	<link>https://2016.opensource.hk/</link>
	<description>VLC developers will be tending a booth
     in cooperation with the VideoLAN foundation at the upcoming
     Hong Kong Open Source Conference on 24-25 June 2016.
     Follow the link to sign up. See you there.</description>
	<pubDate>Fri, 01 Jul 2016 14:21:00 +0000</pubDate>
</item>
<item>
	<title>Rémi Denis-Courmont: Condition variable with futex</title>
	<guid>tag:remlab.net,2016:condvar-futex</guid>
	<link>http://www.remlab.net/op/futex-condvar.shtml</link>
	<description>Reimplementing condition variable with futex
     on Linux and Windows.</description>
	<pubDate>Wed, 29 Jun 2016 12:51:00 +0000</pubDate>
</item>
<item>
	<title>Jean-Baptiste Kempf: Announcing VLC for UWP 2.0 beta</title>
	<guid>urn:md5:0e5e3f0264d39918691e8cd21b8d07e4</guid>
	<link>http://www.jbkempf.com/blog/post/2016/Announcing-VLC-for-UWP-2.0</link>
	<description>&lt;h2&gt;VLC for Windows 10 beta&lt;/h2&gt;


&lt;p&gt;If you follow this &lt;a href=&quot;http://www.jbkempf.com/blog/&quot;&gt;blog&lt;/a&gt;, after a long development period &lt;em&gt;(and a lot of issues)&lt;/em&gt;, &lt;a href=&quot;http://www.jbkempf.com/blog/tag/VideoLAN&quot;&gt;VideoLAN&lt;/a&gt; is finally releasing the beta of &lt;a href=&quot;http://www.jbkempf.com/blog/tag/UWP&quot;&gt;VLC for Windows 10&lt;/a&gt;, numbered &lt;strong&gt;2.0.0&lt;/strong&gt;.&lt;/p&gt;


&lt;p&gt;This beta is the first version targeting &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Windows%2010&quot;&gt;Windows 10&lt;/a&gt; and running on the &lt;strong&gt;Universal Windows Platform&lt;/strong&gt;, aka &lt;strong&gt;UWP&lt;/strong&gt;.&lt;/p&gt;



&lt;h2&gt;Features&lt;/h2&gt;


&lt;p&gt;The &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Windows%2010&quot;&gt;Windows 10&lt;/a&gt; application has all the features available on &lt;a href=&quot;http://www.jbkempf.com/blog/tag/iOS&quot;&gt;iOS&lt;/a&gt; and &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Android&quot;&gt;Android&lt;/a&gt; and a few more.&lt;/p&gt;


&lt;p&gt;Like the classic VLC, it supports a very &lt;strong&gt;large number of formats&lt;/strong&gt;, but it also has a &lt;strong&gt;medialibrary&lt;/strong&gt; triaging audio and video media, a full player with &lt;strong&gt;subtitles&lt;/strong&gt;, audio/video synchronisation, an audio &lt;strong&gt;mini-player&lt;/strong&gt; and a &lt;strong&gt;network shares&lt;/strong&gt; browser! We also support &lt;strong&gt;Cortana&lt;/strong&gt;, &lt;strong&gt;Live Tiles&lt;/strong&gt;, &lt;strong&gt;Pining&lt;/strong&gt; and &lt;strong&gt;Continuum&lt;/strong&gt;!&lt;/p&gt;


&lt;p&gt;The only important missing feature is &lt;strong&gt;DVD&lt;/strong&gt;/&lt;strong&gt;Bluray&lt;/strong&gt; playback and TV tuners that are not yet possible through the &lt;strong&gt;UWP&lt;/strong&gt; APIs.&lt;/p&gt;


&lt;p&gt;And of course, it's completely &lt;strong&gt;open source&lt;/strong&gt;, available under the &lt;a href=&quot;https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html&quot;&gt;GPLv2.0&lt;/a&gt; license!&lt;/p&gt;


&lt;p&gt;You should &lt;strong&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/store/apps/vlc/9nblggh4vvnh&quot;&gt;try it now!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;


&lt;h3&gt;Video Library&lt;/h3&gt;


&lt;p&gt;We have a medialibrary, with video management:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/VideoList.small.png&quot; title=&quot;VideoList.small.png&quot;&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/.VideoList.small_m.png&quot; alt=&quot;VideoList.small.png&quot; title=&quot;VideoList.small.png, Jun 2016&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;and a video player with &lt;strong&gt;subtitles&lt;/strong&gt;,  &lt;strong&gt;subtitles download&lt;/strong&gt;, &lt;strong&gt;chapters&lt;/strong&gt;, audio/video &lt;strong&gt;sync&lt;/strong&gt;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/VideoPlayback.small.png&quot; title=&quot;VideoPlayback.small.png&quot;&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/.VideoPlayback.small_m.png&quot; alt=&quot;VideoPlayback.small.png&quot; title=&quot;VideoPlayback.small.png, Jun 2016&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;We even support a &lt;strong&gt;PiP&lt;/strong&gt; mode to browse your library while playing a video:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/PiPView.small.png&quot; title=&quot;PiPView.small.png&quot;&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/.PiPView.small_m.png&quot; alt=&quot;PiPView.small.png&quot; title=&quot;PiPView.small.png, Jun 2016&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;Audio Library&lt;/h3&gt;


&lt;p&gt;We have, &lt;em&gt;of course&lt;/em&gt;, audio management, sorted by &lt;strong&gt;albums&lt;/strong&gt;,&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/AlbumList.small.png&quot; title=&quot;AlbumList.small.png&quot;&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/.AlbumList.small_m.png&quot; alt=&quot;AlbumList.small.png&quot; title=&quot;AlbumList.small.png, Jun 2016&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;artists&lt;/strong&gt;,&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/ArtistsView.small.png&quot; title=&quot;ArtistsView.small.png&quot;&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/.ArtistsView.small_m.png&quot; alt=&quot;ArtistsView.small.png&quot; title=&quot;ArtistsView.small.png, Jun 2016&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;and you can get detailed information about artists.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/Biography.png&quot; title=&quot;Artist Biography&quot;&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/.Biography_m.png&quot; alt=&quot;Artist Biography&quot; title=&quot;Artist Biography, Jun 2016&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;Dark Mode&lt;/h3&gt;


&lt;p&gt;If you live in a cave, you might prefer our &lt;strong&gt;Dark Theme&lt;/strong&gt;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/Black.png&quot; title=&quot;Black.png&quot;&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/.Black_m.png&quot; alt=&quot;Black.png&quot; title=&quot;Black Mode, Jun 2016&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;The &lt;em&gt;accent color&lt;/em&gt; is, of course, modifiable and it will change the &lt;strong&gt;VLC cone&lt;/strong&gt; color too!&lt;/p&gt;


&lt;h3&gt;Network&lt;/h3&gt;


&lt;p&gt;We support &lt;strong&gt;DLNA&lt;/strong&gt;/&lt;strong&gt;UPnP&lt;/strong&gt;, &lt;strong&gt;Windows Shares&lt;/strong&gt;, &lt;strong&gt;FTP&lt;/strong&gt;(S), &lt;strong&gt;SFTP&lt;/strong&gt;, &lt;strong&gt;NFS&lt;/strong&gt; protocols to discover and browse your local servers or NAS.&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/NetworkBrowsing.small.png&quot; title=&quot;NetworkBrowsing.small.png&quot;&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/.NetworkBrowsing.small_m.png&quot; alt=&quot;NetworkBrowsing.small.png&quot; title=&quot;NetworkBrowsing.small.png, Jun 2016&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;h3&gt;Windows 10&lt;/h3&gt;


&lt;p&gt;We support some &lt;a href=&quot;http://www.jbkempf.com/blog/tag/Windows%2010&quot;&gt;Windows 10&lt;/a&gt; specific features, like &lt;strong&gt;Cortana&lt;/strong&gt; (supported in English and French), &lt;strong&gt;Live Tiles&lt;/strong&gt;, Artists and Album &lt;strong&gt;pining&lt;/strong&gt; to the start menu, Drag &amp;amp; Drop,  and &lt;strong&gt;Continuum&lt;/strong&gt;, if you have a &lt;em&gt;Lumia 950&lt;/em&gt; or &lt;em&gt;Lumia 950XL&lt;/em&gt;&lt;/p&gt;


&lt;p&gt;Under the hood, we use some technologies &lt;strong&gt;exclusive to&lt;/strong&gt; Windows 10, like some &lt;strong&gt;DirectX 11.1&lt;/strong&gt; features for video and low-latency &lt;strong&gt;audio&lt;/strong&gt;. This should give you &lt;strong&gt;enhanced battery life&lt;/strong&gt; and allow smooth 4K playback.&lt;/p&gt;


&lt;h3&gt;Platforms supported&lt;/h3&gt;

&lt;p&gt;This release works now on:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows 10 desktop and tablets,&lt;/li&gt;
&lt;li&gt;Windows 10 mobile,&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;but also, when a few remaining issues are fixed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Xbox one,&lt;/li&gt;
&lt;li&gt;Surface Hub,&lt;/li&gt;
&lt;li&gt;Hololens.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;And, in a few weeks, we will update the application to also support:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Windows 8.1,&lt;/li&gt;
&lt;li&gt;Windows RT 8.1,&lt;/li&gt;
&lt;li&gt;Windows Phone 8.1.&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Important remarks&lt;/h2&gt;


&lt;p&gt;&lt;strong&gt;NotaBene 0&lt;/strong&gt;: This application is &lt;strong&gt;NOT&lt;/strong&gt; replacing the &lt;strong&gt;desktop&lt;/strong&gt; application.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;NotaBene 1&lt;/strong&gt;: This application is a new entry on the store compared to the &lt;strong&gt;2 WinRT applications&lt;/strong&gt;, because Microsoft could not offer a simple upgrade path.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;NotaBene 2&lt;/strong&gt;: Please report bugs!&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;NotaBene 3&lt;/strong&gt;: the &lt;strong&gt;Xbox one&lt;/strong&gt; version should be out this summer, when the store is open to 3rd party UWP applications; the Windows 8.1/Windows Phone 8.1 version should come during the next month, if all goes as expected.&lt;/p&gt;


&lt;p&gt;Here is a photo of the application running on the &lt;strong&gt;Xbox 1&lt;/strong&gt;:&lt;/p&gt;


&lt;p&gt;&lt;a href=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/XBox.jpg&quot; title=&quot;XBox.jpg&quot;&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/.XBox_m.jpg&quot; alt=&quot;XBox.jpg&quot; title=&quot;XBox.jpg, Jun 2016&quot; /&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;And a gif on the &lt;strong&gt;Hololens&lt;/strong&gt;:&lt;/p&gt;


&lt;p&gt;&lt;img src=&quot;http://www.jbkempf.com/blog/public/VideoLAN/WinRT/2.0.0/Windows10Holo.gif&quot; alt=&quot;Windows10Holo.gif&quot; title=&quot;Hololens&quot; /&gt;&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://www.microsoft.com/en-us/store/apps/vlc/9nblggh4vvnh&quot;&gt;You should try it now!&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 29 Jun 2016 08:28:00 +0000</pubDate>
</item>

</channel>
</rss>
