VLC for Windows 8 development taking longer than expected

VideoLAN successfully raised enough money via Kickstarter several months ago to work on a port of the popular free media player VLC for Windows 8. However, the development of the port has taken longer than expected.

VideoLAN President Jean-Baptiste Kempf made a post on his personal blog Sunday to explain, in highly technical detail, what he and the Windows 8 VLC team have had to go through to develop the Windows 8 port.

Kempf states:

The main objective of the Kickstarter was the compliance of this core to the WinRT Store Application limitations. We're almost there, but not quite.

The biggest hurdle was working with the forbidden APIs. Kempf says there were over 15,000 symbols that had to be dealt with in VLC, including 600 unique symbols (Windows API calls). He says there are now just 16 symbols left, with another 32 if the team wants to use the networking code. Kempf says, "This is cool, but not enough, since we must be at 0 to enter the store."

However, Kempf seemed confident that the remaining issues would be taken care of, but added there is still a lot of work to do before the VLC Windows 8 port is ready to launch. He offered no clue as to a specific release date.

Source: Jean-Baptiste Kempf's blog via WinBeta.org | Image via VideoLAN

Report a problem with article
Previous Story

Google acquires Waze traffic-navigation app

Next Story

AMD announces FX-9590 5 GHz processor

66 Comments

Commenting is disabled on this article.

Dane said,
Can you use VLC at all on windows 8?
Desktop version works fine (in fact, it's my default player). This is for a Windows Store app (WinRT app / Metro app / Modern app)

PsYcHoKiLLa said,
Why are they so focused on the WinRT? Why not just release the Windows 8 version!

This is the windows 8 version running on WinRT (Windows Runtime) not Windows RT which is the ARM devices

PsYcHoKiLLa said,
Why are they so focused on the WinRT? Why not just release the Windows 8 version!

It's already released. It's the same desktop-program as it has ever been. This project is about a WinRT-app…

deadonthefloor said,

No
It's about a Modern Windows Runtime App that will run on Win8(x86/x64) and WinRT.

WinRT == Windows Runtime, your point being?
Don't blame me if you can distinguish WinRT and Windows RT…

WinRT definatly has limitations due to limiting API's if you want to port prior desktop applications to it, you can definitely run into some issues if you make heavy use of Win32.. even .NET applications have a hard time being ported, there is a LOT of methods and classes that are just not supported under the WinRT shop model

remember WinRT is the runtime, not Windows RT which is the ARM version... WinRT doesn't really want you calling Win32 API's and such which takes you out of their little "modern" sandbox they want you to play in

As far as I know the larger disappointment is the fact they haven't mailed out their perks/rewards to people who put down large donations to get cheesy key chains and whatnot. I don't think those people will ever see their "rewards".

I know software can (always) take longer than expected to develop, but this is pretty lame and I hope it doesn't discourage too many people from sponsoring other kickstarts

I use the 64 bit "beta" version that they have on the website and it works flawlessly. Don't think I've encountered any problems yet.

este said,
I use the 64 bit "beta" version that they have on the website and it works flawlessly. Don't think I've encountered any problems yet.

That's not using networking features though which has issues and a few other things that are having issues, they haven't added those in yet

It also looks like Visual C Runtime libraries where a big headache for them since they relied on version 6 and windows store requires version 11 to be used

neufuse said,

That's not using networking features though which has issues and a few other things that are having issues, they haven't added those in yet


Didn't even know they were working on that. Not a big deal for me as I don't use those features.

este said,

Didn't even know they were working on that. Not a big deal for me as I don't use those features.

There are those of us who rely on the networking features for our jobs.
I would love to use a W8 App instad of crappy win2k3.......

Pluto is a Planet said,

Why on earth would you want to deal with using new libraries every time Windows comes out with a new OS?

The VC6 runtime was released back in 1998 - 14 years ago. Sticking with that runtime is madness.

Pluto is a Planet said,

Why on earth would you want to deal with using new libraries every time Windows comes out with a new OS?


Let's see:
*) bugfixing
*) new features
*) quality of implementation (memory usage, performance optimization, …)

Do you need more reasons?

MFH said,

Let's see:
*) bugfixing
*) new features
*) quality of implementation (memory usage, performance optimization, …)

Do you need more reasons?

None of these have ever been problems with VLC

So I'm one of the people who helped with the kickstarter, and I have to say, I'm regretting it. The two projects I "invested in" (this and the OUYA) have taken far too long to get and to be honest,... I'm not seeing the benefit. I almost think they would have done it either way eventually and now there are alternatives/built in services that may be good enough. We'll see what they will produce, but I'm not very happy at this point.

There are no alternatives that will be as feature rich and support as many formats as VLC does. Can you even play an MKV file in the built-in Videos app?

Although I didn't financially support it, I have faith in the project. These guys have no reason to trash the project or their reputation, since VLC is here to stay.

Drewidian said,
So I'm one of the people who helped with the kickstarter, and I have to say, I'm regretting it. The two projects I "invested in" (this and the OUYA) have taken far too long to get and to be honest,... I'm not seeing the benefit. I almost think they would have done it either way eventually and now there are alternatives/built in services that may be good enough. We'll see what they will produce, but I'm not very happy at this point.

You can't yet see the benefit. It's not done, it's not released.

But both projects are moving ahead. Both will become actual products thanks to your support. This wouldn't have happened without enough support. You will see the benefit.

If you regret it at this point then you would have known you'd regret it because you don't have the patience. Regretting the end result I could understand. But regretting the wait, I do not.

Seriously? If you don't have the stomach for a project to take 2-10 years to develop you should never invest to begin with. KickStarter is not going to make development go any quicker, it just helps get them off the ground to continue working through it.

Obry said,
There are no alternatives that will be as feature rich and support as many formats as VLC does. Can you even play an MKV file in the built-in Videos app?
MP4 is your friend. My surface RT can display my entire tagged video collection from a windows server That's with all the metadata and posters pulled from the files themselvs.

TPreston said,
MP4 is your friend. My surface RT can display my entire tagged video collection from a windows server That's with all the metadata and posters pulled from the files themselvs.

So you're suggesting to convert anything that isn't MP4 first? What are you using to convert it? What about streaming video from online?

You can't do any of that with Windows RT right now. When the project is done, there will be a new open-source library written entirely in C that lets app makers for Linux who use the library easily write code for all Windows devices. They'll be able to play anything in their app, not just MP4.

This project is so difficult because of two reasons. One it requires dealing with a lot of low level code, which you never need to do when writing a Windows 8 app. This is video decoding we're talking about here, taking binary data and turning it into video your computer can use, so yeah there are going to be differences between a regular app and this. The other reason it was so difficult was because they needed to use Microsoft's main library for C, MSVCRT with a new compiler, and getting them to work together was something not meant to be done. As a result, that work won't ever have to be redone for any app that's using mingw in development.

Pluto is a Planet said,

So you're suggesting to convert anything that isn't MP4 first? What are you using to convert it? What about streaming video from online? .

Only the audio needs to be converted otherwise its a container switch, I highly recommend this for the benefit that tagging the files gives aswell as the universal support.

TPreston said,

Only the audio needs to be converted otherwise its a container switch, I highly recommend this for the benefit that tagging the files gives aswell as the universal support.

So what about DVDs? You can't play everything on Windows 8, including a lot of online video.

Obry said,
There are no alternatives that will be as feature rich and support as many formats as VLC does. Can you even play an MKV file in the built-in Videos app?
PowerDVD Mobile can play MKVs and a bunch of other formats.

"and now there are alternatives/built in services that may be good enough"

The difference between WP8 and platforms like Android is that on WP8 "good enough" just isn't good enough. We expect it to be done 100% the right way.

mychaelo said,
PowerDVD Mobile can play MKVs and a bunch of other formats.

Never used it but it also costs $14.99 whereas VLC is and always has been free...

Drewidian said,
So I'm one of the people who helped with the kickstarter, and I have to say, I'm regretting it. The two projects I "invested in" (this and the OUYA) have taken far too long to get and to be honest,... I'm not seeing the benefit. I almost think they would have done it either way eventually and now there are alternatives/built in services that may be good enough. We'll see what they will produce, but I'm not very happy at this point.

You will reap the benefits in due time. I'm sure of it. I'm also a supporter and I'm still waiting...

P.S. - I supported the film "Minecraft: A Story of Mojang" by 2 Player Productions and it took 2 years to make. I still got an end product from it.

lmaobox said,
wow, its so hard to code win8 app ?

maybe the difficult part could be porting a full desktop program to a metro app.

lmaobox said,
wow, its so hard to code win8 app ?

Well you have to consider they are trying to port a fairly large code base already written for different API's and modify it to work in a completely new environment. If they were starting from scratch including all the back end code, they would be able to take different approaches hence not running into those problems but since they are porting an existing code base, things are a little different. Porting stuff (especially multimedia extensions that talk with a bunch of hardware) is not always so straight forward regardless of the platform...

lmaobox said,
wow, its so hard to code win8 app ?

Win8 itself isn't the problem. The RT version is locked down so much, and that is the main issue. IF i were the VLC team , i'd abandon the project.

Reusing code isn't always simple, and if they need to change API the difficulty might depend on how well encapsulated each part of the code is and how it's exposed to the rest of the code.

soldier1st said,

Win8 itself isn't the problem. The RT version is locked down so much, and that is the main issue. IF i were the VLC team , i'd abandon the project.

I think you're confusing APIs and Operating Systems. They're not talking about Windows 8 vs Windows RT, but Win32 vs WinRT. This application is a WinRT version or port of the VLC player (historically a Win32 application) which will run on Windows 8 and Windows RT (unless they for some reason target a specific architecture).

I do however agree with you that Windows RT is unfortunately artificially locked down. To bad they haven't recompiled their Win32 VLC player for ARM (which could run via the Jailbreak).

lmaobox said,
wow, its so hard to code win8 app ?

it has to be ported to a completely new API,so that's the hard part. Has nothing to do with winrt being difficult. apps or games started from scratch with the intent of being multiplatform structure their programs to be API independant,then porting is as simple as linking the display,sound,network functions to their platform independent code.

domboy said,
To bad they haven't recompiled their Win32 VLC player for ARM (which could run via the Jailbreak).

Unfortunately supporting a new architecture is definitely not just recompiling the code to a different target. Just look at the uTorrent struggle, they've tried to make an x64 version for like a year, and eventually they abandoned it saying "meh, too much effort". Or Chrome, or Firefox, or...

And that's just x64, which is just an extension of x86, unlike ARM which is completely different.

domboy said,

I do however agree with you that Windows RT is unfortunately artificially locked down. To bad they haven't recompiled their Win32 VLC player for ARM (which could run via the Jailbreak).

If they're using multimedia extensions (MMX, SSE, …) even that would not help as those extensions are not supported on ARM…

No, the problem is they are using code that is designed to be portable across many different OSes and still being compatible with the modern app interface.

soldier1st said,

Win8 itself isn't the problem. The RT version is locked down so much, and that is the main issue. IF i were the VLC team , i'd abandon the project.
You realize the Modern App Runtime is identical between both RT and Normal Windows.

From reading what they said in the update, the real issue was using a third party compiler more so than anything else. VLC is using mingw not Visual Studio so they had to modify mingw to support the custom C++ extensions needed to compile a WinRT app.

Since this is carried over into mingw, this will make it easier and quicker for open source devs who use that compiler to start developing WinRT apps

Oh, I'm not suggesting a straight ARM recompile would be painless. It just might have been somewhat simpler, since it'd still be using the Win32 API. But maybe you're right, maybe it'd still be a big headache, just in different ways.

But I guess the route they're going should be more future proof, assuming the market embraces modern ui...

lmaobox said,
wow, its so hard to code win8 app ?
Most of the issues they're having are related to not using MS's tools to build the application, and a very old version MS's Visual C++ Runtime for IA32 (MSVCRT32.dll) -- version 8. You need to use version 11 (amongst other things) have an application published to the store.

Edited by ahinson, Jun 11 2013, 8:23pm :

domboy said,
Oh, I'm not suggesting a straight ARM recompile would be painless. It just might have been somewhat simpler, since it'd still be using the Win32 API. But maybe you're right, maybe it'd still be a big headache, just in different ways.

But I guess the route they're going should be more future proof, assuming the market embraces modern ui...

Now that I think about it, whatever third party tools they're using may not even have the ability to target the ARM architecture for a Win32 application. Visual Studio can, but last I heard gcc cannot as yet.

ahinson said,
Most of the issues they're having are related to not using MS's tools to build the application, and a very old version MS's Visual C++ Runtime for IA32 (MSVCRT32.dll) -- version 8. You need to use version 11 (amongst other things) have an application published to the store.

If you go into deep details, at least check your facts. It's MSVCRT.DLL, which comes with Visual C++ 6.

And there's not much reason for NOT using VS for any open source project except being a Linux fanboy, which is usually the case (yes, applies to the VLC team as well).

It's not "hard" to code for WP* although it is "different". Apps in WP run in a completely sandboxed environment which means you cannot take liberties with the API. In other environments - such as Android - many developers don't give a hoot about security and routinely code around the APIs. To get your product into the WP8 store you need to stay inside the lines. Add to this the complexity of moving a somewhat large - and very good btw - code base to a new environment and I think we all need to be a bit patient.

WP8 users take for granted the consistency of the GUI as well us the underlying software. Other platforms again don't have this kind of attention to detail.

bviktor said,

If you go into deep details, at least check your facts. It's MSVCRT.DLL, which comes with Visual C++ 6.

And there's not much reason for NOT using VS for any open source project except being a Linux fanboy, which is usually the case (yes, applies to the VLC team as well).

Thanks for pointing out a typo I couldn't edit because Neowin's **** comment system. I typed MSVCRT32, then attempted to edit the post and couldn't.

I would agree that they're placing undue limitations on themselves by keeping their project in a non-MS development environment but we don't know why they're doing it.

bviktor said,

And there's not much reason for NOT using VS for any open source project except being a Linux fanboy, which is usually the case (yes, applies to the VLC team as well).

what turns me off open source software is these smug jackasses. id rather use proprietary stuff than deal with these clowns.

ahinson said,

I would agree that they're placing undue limitations on themselves by keeping their project in a non-MS development environment but we don't know why they're doing it.

I understood it to be because they want VLC to continue to be a cross-platform application, which in my opinion is a very worthy goal. So if they can figure out how to re-write their code to work with the WinRT API and still have it be cross-platform then kudos to them!

domboy said,

I understood it to be because they want VLC to continue to be a cross-platform application, which in my opinion is a very worthy goal. So if they can figure out how to re-write their code to work with the WinRT API and still have it be cross-platform then kudos to them!

Nonsense, that may only make up for a lame excuse for some of these devs. You don't have to use a common compiler to remain cross-platform. The code needs to be cross-platform, not the compiler. Yes, I've been maintaining a cross-platform app which uses GCC and Autotools on *nix and VS on Windows, it's (of course) completely possible and works well. And yes, I received a lot of hatred from the awesome "open source community" merely for VS.

bviktor said,
... And yes, I received a lot of hatred from the awesome "open source community" merely for VS.
We don't know their reasoning behind doing what they're doing. It's possible, but to say anything to their motivation for doing so is purely speculation.

I don't know why the open source community hates on MS's dev tools. I work primarily in Delphi because our product, which I inherited was written in it. Given the choice to recreate it, I'd choose C#. I'm constantly frustrated by Delphi's IDE -- doing simple tasks like control-clicking multiple controls and aligning them from the alignment palette (when nested in panels) turns into a pain because it can't handle nested controls.

It leaves me longing for VS.

Edited by ahinson, Jun 12 2013, 1:34pm :

ahinson said,
We don't know their reasoning behind doing what they're doing. It's possible, but to say anything to their motivation for doing so is purely speculation.

I don't know why the open source community hates on MS's dev tools. I work primarily in Delphi because our product, which I inherited was written in it, but given the choice I'd choose C# most likely. VS's IDE is superior in almost every way to many of the IDEs I've used.

You don't know, I do but ok, I admit, they're not THAT bad. The Pidgin devs are the worst. The usual Windows-related question goes like this:

- Hello, I have a problem in Pidgin with feature x.
- OS?
- Windows.
- Go use Linux.

That pretty much sums their IRC channel up.

bviktor said,

You don't know, I do but ok, I admit, they're not THAT bad. The Pidgin devs are the worst. The usual Windows-related question goes like this:

- Hello, I have a problem in Pidgin with feature x.
- OS?
- Windows.
- Go use Linux.

That pretty much sums their IRC channel up.

I have known a few open source Nazis. The hate runs deep in their community.

bviktor said,

Nonsense, that may only make up for a lame excuse for some of these devs. You don't have to use a common compiler to remain cross-platform. The code needs to be cross-platform, not the compiler. Yes, I've been maintaining a cross-platform app which uses GCC and Autotools on *nix and VS on Windows, it's (of course) completely possible and works well. And yes, I received a lot of hatred from the awesome "open source community" merely for VS.

Alrighty, my misunderstanding then.

vcfan said,

what turns me off open source software is these smug jackasses. id rather use proprietary stuff than deal with these clowns.

If you read your post, you will see that you are the one acting like a smug jackass. No need to insult the developers and the oss community like this.

The way a lot of people in the OSS community treat people, he wasn't being that bad. He dished out what they typically would give him. But, it's a community so you have your good apples and your bad.