Keyword - GPL

Entries feed - Comments feed

21 December 2015

This week in VideoLAN - 30

30th week of VideoLAN reports

And, closing to holidays season, another week goes by, another weekly report about VideoLAN and VLC development you get!


Features and changes

VLC/ChromeOS release

If you've missed it, this week, we released the first version of VLC for ChromeOS under the GPLv3 license.

This is a port of the Android application to the Android Runtime on Chrome.

It shares most of the code with the Android version, but includes a few ChromeOS specific modifications.

We've had good feedback on it, but there is still a bit of work to do, from our side, but also from Google's side!

That was the last desktop OS that we were not on. Try it!


This week, the biggest chunk of work was on HTTP/2, like mentioned last week.
HTTP/2, HTTP and TLS rework in VLC got us 110 commits, on a total of 175.

The second large work of the week was the rework of the NAL (SPS/PPS) parsing and usage for H.264 and HEVC (42 commits, this week).
This impacted most of the hardware and software decoders, packetizers and muxers.

For both HTTP/2 and NAL parsing, I believe we'll see more commits next week too. :)

We've added the support to raw RGB and GREY video inside mp4.

Finally, we've also fixed build issues, memory leaks and small improvements on the Chromecast and the Youtube modules.


On Android, we've started to fix a few regressions that were in the 1.7.x releases, notably small crashes and wake-keeping when playing.

We've re-added the History section that was present a long time ago. It's completely rewritten, though.

We've improved our databinder, our video playlists, and our Android TV behavior.

And of course, merged everything for the ChromeOS port.


For iOS and the tvOS application, we've submitted all the applications. We're now waiting for the Apple Store reviews.

It might be long to review, because of the holiday season!

And of course, we've already fixed a few bugs on the master branch, but no major feature, until we get a release :)


The WinRT port was quite busy last week, with more than 50 commits!

The biggest changes were mostly done:

  • on the Slideshow background, (and Win2D)
  • the Theme and mostly the black theme,
  • the mini player,
  • the Music Player page,
  • the topbar, and the menu.

We hope this redesign/rework will be done and pushed on the store, in the next weeks.

That's quite a busy week, see you next time!

17 December 2015

Announcing VLC for Chrome OS

VLC on ChromeOS

ChromeOS is one of the last Operating Systems where you could not run VLC and play all your media as you wished. :)

Even worse, it was the only significant Desktop Operating Systems that we did not support (so far, VLC exists for Windows, OS X, Linux, BSD, Solaris, OS/2, Haiku/BeOS, ReactOS).

At the same time, VLC for Android is quite popular and is supported on most phones and tablets, and is currently being expanded to Android TVs or other forms of Android.

Today, I'm pleased to tell you that you can use it now! DOWNLOAD!


Android Runtime on Chrome

A few months ago, the Chrome team announced the possibility to run some Android applications on Chrome OS using the new Android Runtime for Chrome. Starting from that moment, we wanted to support this runtime.

Why did we want ARC support?

VLC is mostly a native application on all ​platforms​, using low-level APIs to output video, audio and get access to threads. VLC is using mostly C, C++ and hand-crafted ASM to get the best performance, as required for a realtime application.

Therefore, it's currently impossible to port VLC to Javascript and other Web technologies (or FirefoxOS). It might be possible in the future, but this is off-topic. :D

Usually, the mobile ports of VLC, like VLC for Android, VLC for iOS or Windows phone, use the native language of the platforms to create the interfaces and the media database.

For ChromeOS, the only solution we saw, before ARC was announced, was using PPAPI, NaCL and Javascript, but that would require to rewrite a complete interface in Javascript and would be a bit problematic for the database. That work would have taken months of work.

Therefore the ARC solution was a blessing, and helped us to recycle 95% of the Android code and optimizations we did in the last months (some are not released yet).
Of course, some work was required, nothing is magical, but way less than other solutions.


VLC on ChromeOS supports:

  • all video files supported in VLC, including MKV and DVD ISOs,
  • all audio files supported in VLC, including FLAC and other weird audio formats,
  • subtitles files, from SRT to SSA and with auto-detection, when possible,
  • a media database like on Android and iOS to select the right medias, and resume playback,
  • playback of streams, local and on the internet, include adaptive streaming like HLS or DASH,
  • we also support playlists, accelerated playback, audio equalizer, audio/video synchronization and hardware accelerated video/audio decoding.

Chrome video listing

Open Source and Free Software

As everything VideoLAN is doing, VLC for ChromeOS is completely free and open source.

We would LOVE help to improve this port! Join the community, fork the code and send patches!

The source code is licensed under the GPL (v2 or later) and is currently distributed as GPLv3, like VLC for Android.


The current version was tested on the 2 ChromeBooks we had access to:

  • a Chromebook Pixel,
  • an HP Chromebook 14.

It is possible that there are issues with other machines, and we ADVISE to use the latest Chrome 48 or the current beta version, to test VLC.

Please report the bugs, if you can!

Nota Bene: ChromeBit

Currently, the Chromebit by ASUS is untested, because it seems to be not available in France yet, and ASUS did not answer to our query to get access to one.

Any testing on this would be welcome!

Nota Bene 2: ARChon

In the same way, ARChon Runtime is currently not supported, because it was not tested at all.

Help on this is welcome too!


You can download it here!

Be careful, it's just the first release, but for now, Enjoy!

10 March 2014

First achievement unlocked!

Oh boy, this has been a long and bumpy ride!

Today, the first Beta of VLC for WinRT is getting deployed on the store.

As many of you know, the road to come to this point has been long... Very long.

I've been driving or helping some ports of VLC on mobile, but this port has been the hardest, by an order of magnitude.

I'll speak a bit more about the lateness of this port, another time. Today, I'll introduce a bit to this application.

Continue reading...

22 November 2012

Windows Store and the GPL

FOSS and AppStore

As more and more software distribution are going through so-called App Stores, the question about the compatibility of their terms and conditions with the open source licenses, notably the GPL, often arise.

Personally I don't like those, but I can understand why they are popular and will continue to be popular.

So far, the Android store is open source friendly, and Apple one is not yet open source friendly.

But there is a new one in town, so I will look at the new Windows Store, that will ship WinRT Metro and Windows Phone 8 applications.

I will look at the 3 main liberties (copy, modify, redistribute) and the unrestricted usage liberty.

Legal analysis

Part 1: Store terms of use for users

The referent document can be found here.

The first reaction that those terms of use are way better than the ones from the competition. I don't really like Windows 8 but this is very well executed.

In section named What are my rights for apps I get from the Windows Store?

All apps made available through the Windows Store are licensed, not sold, to you.

This is quite normal for software.

In most cases, that license includes the right to install and use your app on up to five Windows 8 enabled devices simultaneously. If you try to install an app on more than five devices, it may be deactivated automatically from one of these devices, so that no more than five instances are activated at any one time.

5 device limitation, for most cases. This needs clarification for what other cases are. (see the bottom of this mail)

In limited circumstances, such as when a publisher designates the app as eligible for use on only a certain type of device, apps might not install on other types of devices.

Publishers can be assholes or have not ported to ARM or whatever stupidity we add later on, on our devices.

We provide the name of the app provider licensing each app, which may be Microsoft or a third-party app provider."

Microsoft will always tell you the name of who actually licenses the application.

All apps are licensed to you under the Standard App License Terms at the end of these Terms of Use, unless the provider of an app provides you with access to separate terms or agreements in the app listing page, in which case those terms will apply.

Either there is a correct license, or we force our broken terms.

Those terms might also include a privacy policy. The app publisher is the seller and licensor of the app.

Microsoft is not the seller or licensor, they act as a store.

When a third party is the app provider, Microsoft is an agent of the third party that provides the app to you, but we aren’t a party to the license between you and the app provider, and our privacy statement doesn’t apply to treatment of information you might exchange with the app provider when using the app. In such cases, Microsoft isn’t responsible for the app or its content, your use of the app, any warranties or claims relating to the app, or customer support for the app.

Microsoft is not responsible for 3rd party apps, and does not apply neither its terms of conditions nor privacy policy, if there is a license.

But your relationship with Microsoft and your use of the Windows Store will still be governed by Software License Terms for your Windows operating system and these Terms of Use. Because Microsoft processes the app purchase or, in some cases, the in-app purchase transaction as the agent of the seller, you might see Microsoft listed as the seller on sales records.

But even if it is the case, the Microsoft Store software and Microsoft software are govern by Microsoft SLT.

The rest of the terms is not about apps, and then there is their SLT which is clearly not open source, because of the section 3 that forbids the 3 main liberties.

Part 2: Application Developer Agreement

The referent document can be found here.

The important part is named: 3) g. License to Customer for Windows Store apps.

You, not Microsoft, will license the right to install and use each app to customers. You may provide a license agreement to the customer for your app.

Same as above, restated as a developer point of view.

That license agreement or other terms that govern a customer’s use of your app (including any privacy policy), or a link to them, must be delivered to Microsoft for publication via the product description materials you provide to Microsoft.

You must share the license to MS,

If you do not provide such materials, then the Standard Application License Terms, attached as Exhibit A, will apply between you and customers of your app.

or the SLT will apply, automatically.

If you provide your own license agreement, your license must, at a minimum,

Your license must allow, at minimum (so more can be allowed):

(a) permit the customer to download and run the app on up to five Windows 8 enabled devices that are associated with that customer’s Microsoft account, without payment of any additional fees to you (from either Microsoft or customer),

At least 5 devices.

(b) include "disclaimer of warranty" and "limitation on and exclusion of remedies and damages" sections that are at least as protective as Exhibit A


Usual "NO WARRANTY" section.

(c) disclaim any support services from Microsoft and the customer’s device manufacturer and network operator (if applicable).

Be clear on support services and who is in charge of the support.

Your license terms must also not conflict with the Standard Application License Terms, in any way, except if you include FOSS, your license terms may conflict with the limitations set forth in Section 3 of those Terms, but only to the extent required by the FOSS that you use. "FOSS" means any software licensed under an Open Source Initiative Approved License.

Your license should be compatible with the SLT, except if you include FOSS, in which case you can violate the part of the SLT that disallow reverse engineering, decompile.

Here is the part of the SLT that you can explicitly violate:

work around any technical limitations in the application;

reverse engineer, decompile or disassemble the application, except and only to the extent that applicable law expressly permits, despite this limitation;

make more copies of the application than specified in this agreement or allowed by applicable law, despite this limitation;

publish or otherwise make the application available for others to copy; or rent, lease or lend the application.


Technically, a contrario from what Microsoft is trying to explain people, WinRT applications are Win32 applications, that have artificial limitations imposed by the Windows Store submission process.

They are usually linked to MSVCR110 for standard calls, which is a major component of the operating system on which the executable runs. Those applications don't ship anything else than the usual executables and a few .xml crap.

tl;dr: Summary

Your usages are not limited; except you cannot use the application on more than 5 devices, unless the license clearly says you can use it on more devices. That might need an extra clarification, to check if you can have unlimited devices.

You can reverse engineer, decompile, disassemble the application, make more copies of the application, publish, distribute, rent, lease or lend, as long as you are FOSS.

Therefore, I think it is quite safe, now, to publish a FOSS application on the Windows Store.

6 April 2011

Interview Vidéo sur Nolife TV

J'ai été interviewé, dernièrement, par l'équipe de Nolife, dans le cadre de VideoLAN et de VLC, à l'occasion des 10 ans du passage en GPL de VideoLAN.

Cette interview a été diffusée dans l'émission 101%, pendant la grille horaire TV classique.

Vous trouverez gratuitement l'interview, en ligne pour écouter ce que j'ai à dire...

Si vous êtes abonnés Nolife, vous pouvez retrouver aussi, l'interview complète.

Merci pour le soutien!

19 September 2007

Misconceptions about VLC - 1 Building an application on VLC.

Short thing: I heard a lot that VLC suxx because you can't build a 3rd party application on it. Some other can do it (libxine, quicktime, etc...).

This is plainly wrong and I'll speak a bit about it.

I'll start with the different languages and then about Licensing problem and solution.

Continue reading...

- page 1 of 2