Planet VideoLAN

Welcome on Planet VideoLAN. This page gathers the blogs and feeds of VideoLAN's developers and contributors. As such, it doesn't necessarly represent the opinion of all the developers, the VideoLAN project, ...

October 05, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 20

20th week of VideoLAN reports

For the 20th time, here is the weekly report of what has happened in the VideoLAN community and VLC development, during the past week.

I'm surprised to have been keeping at it for already 5 months. It's a bit boring to do, and also a bit lonely, but I believe it is necessary so that everyone knows what's going on.

Features and changes


For once, we'll start with libVLC, and the new libVLC backend for EFL/Emotion. You can now use libVLC easily in an EFL or Elementary application!


Last week started with Felix fixing an open bug on the Lua extensions of VLC on OS X.

Then, we received a new audio output for the Tizen Operating System.
So far, it works quite fine on Tizen 2.3 but has extra features on 2.4. The audio/video synchronization is not yet complete, though.

The iOS OpenGL video output was improved to support OpenGL off the main-thread and multiple OpenGL contexts in a sharegroup (multi-thread OpenGL for the n00bs like me in OpenGL).

The libVLC port for tvOS was also improved, notably to correctly disable ARMv7 assembly, that cannot run on the Apple TV.

There were also changes to speed up subtitles sorting and fixes on TTML, WPL, adaptive streaming, and the videotoolbox module.


There was a 0.9.0 libbluray release on Saturday, that mostly added:

It should be integrated in the next major version of VLC.


The week was extremely busy on the WinRT side: we've had more than 140 commits in a week!

The commits were mostly to fix more of the 1.7.0 release issue, but also adding features:

Let's hope 1.8.0 can be out next week!


Not much on Android, this week, just a couple of bugfixes.


Quite a few things happened on the Tizen port, and we have a basic application running well.
More on this in a later post, I believe :)


iOS received a few fixes for:

The tvOS port had a few changes, notably on the bitcode integration. More on this, a bit later, when we have something to show.

That's quite a bit for this week! See you next!

October 05, 2015 10:50 PM

October 04, 2015

Jean-Baptiste Kempf

libbluray 0.9.0

Almost 6 months after libbluray 0.8.0, I'm delighted to announce libbluray 0.9.0!

We published, in the meantime, a version 0.8.1, that was focused on fixing the biggest regressions of 0.8.0.
Between 0.8.0 and 0.9.0, we had around 100 commits.

libbluray 0.9.0 introduces a few cool features:

Have fun testing it!

October 04, 2015 03:17 PM

September 29, 2015

Jean-Baptiste Kempf

new libVLC backend for EFL/Emotion

This is quite short a post about libVLC in EFL (Enlightenment).

Emotion is the multimedia API of the Enlightenment Foundation Libraries (EFL) used in the e17 desktop environment. It is similar to KDE's phonon.

For a long time, the libVLC backend for Emotion was not a full backend, but was considered as a generic player, mainly because of the license, at the time.
The 2 full backends in EFL were based on GStreamer and Xine.

Since last week, there is now a FULL Emotion backend based on libVLC: see libVLC emotion commit.


We will use that backend to port VLC on Tizen :)

Please test it and report bugs :)

September 29, 2015 08:26 AM

September 28, 2015

Jean-Baptiste Kempf

Last weeks in VideoLAN - 19

19th week of VideoLAN reports

Because of the VideoLAN Dev Days that happened last week-end, here is a dual-week report of what has happened in the VideoLAN community and VLC development, during the past 2 weeks. :D

It explains also why there may not be as many commits as we usual have. This report is also shorter because I don't have enough time to detail as much as I'd like.

VDD 2015

The VideoLAN Dev Days 2015 were a huge success, with numerous attendees and quite a few nice conferences.

I'll do a longer post about it, but here is a nice picture during one of our meetings!

Features and changes


We've finally merge the work from outreachy on the TTML subtitles. Largely reworked by Hugo, this makes it supports most of the styles from the TTML specification.
We still need a bit of work to merge multiple styles.

François worked on the subtitles support for DASH and HLS, because we had quite a few issues with subtitles streaming input; be careful, it is not ready yet. :)
He also worked on lazy-loading of the playlists, mp4 seeking.

David found a work-around for AirPlay output that was stuttering, on OS X.

We've had large refactoring on the OS X interface, to continue the cleaning, that you've seen in the past weeks.

Rémi worked on the avcodec direct-rendering support, to always assume edge-emulation; and on simplifications of the hardware decoding setup in this module.

This work introduced 2 calls in the core: decoder_GetPicture() and picture_pool_Wait(). The first can be used instead of decoder_NewPicture() when the decoder manages correctly the format updates. The latter is a variant of picture_pool_Get() that sleeps until a picture is available.
This could be useful for the future asynchronous decoding feature...

Finally, we've had fixes on the Mac OS X advanced preferences, the iOS vout, the Direct3D11 video output, a 2.2.0 WMV regression, videotooolbox crashes.


The iOS port has been quite busy, starting by fixes for iOS 9.

We did a release numbered 2.6.5 of VLC for iOS.

The MediaLibraryKit project was updated for iOS 9 and for tvOS.

We've also had fixes for WatchOS, for iOS 9 searches, for the database indexing, and thumbnails.

We've also disabled the search if the folder is hidden behind a passcode, to avoid embarrassing results. :)


We did a 1.7.0 release for Windows Phone, Windows RT and Windows 8.1/10.

This is major WinRT release, adding the hardware decoding, changing a lot of the internal, and improving the interface to match Windows 10 look.

We've updated the projects to support both a Universal Windows Project and a Windows 8.1 project.

We've fixed a few bugs from this 1.7.0 release, notably crashes.


After the 1.5.90 release, things have been quiet on the Android front.

We've had translations updates, fixes for crashes, fixes for last playlist resuming, playlist&random states on resume and a few other small bugs.

Finally, yours truly fixed a very important bug, where we exported more than 14000 symbols in instead of 200. This will make the binary quite smaller and faster to load.

September 28, 2015 06:05 PM

September 16, 2015

Jean-Baptiste Kempf

The future of codecs is at VideoLAN Dev Days '15

VideoLAN Dev Days 15

Like the last few years, we are organizing the VideoLAN Dev Days, this week-end, in Paris.

The conference is nicely hosted by the French unicorn Criteo and sponsored by Google and Videolabs.

Last year was in Dublin:

New Codecs conferences

This year, we'll have quite a few nice talks, focused on all the new and future of open and open source codecs!

In fact, we will have talks about VP10, Daala, Thor and x265.

Video codec Talks

Alex Converse, from Google, will speak about the future development of VP10.

Timothy Terriberry, from Mozilla, will speak about the ongoing development of Daala, and do an update compared to what he spoke about last year, at VDD14.

Thomas Davies, from Cisco, for his first time at VDD, will speak about the new codec named Thor.

Finally, Deepthi Nandakumar, from MCW, will speak about x265, the new implementation of the H.265 encoder, inspired by x264.

Clearly, the fight between the new generation codecs is just beginning! :D

Other talks

We will have talks about VLC 3.0, the speedup of the VP9 decoder in FFmpeg, a new AAC encoder for FFmpeg and the open source community, and a few other surprise talks!

Come and see us!

September 16, 2015 01:56 PM

September 14, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 18

18th week of VideoLAN reports

Here is the weekly report of what has happened in the VideoLAN community and VLC development, during the past week.

Features and changes


The week started with the addition of a long-asked feature in VLC: hotkeys to increase and decrease the size of the subtitles, without going to preferences or restarting VLC.

We then had several fixes for the Bluray support and mostly BD-J menus, that should now work correctly in VLC.

The skins2 module was fixed for some windows managers like Gnome 3 and Unity that could sometimes keep the taskbar above VLC.

The big mutex that we had for Android decoders and video output was removed by Thomas, after a big fight.

Thomas also modified the core loading of decoders and packetizers: we now always packetize. This is done in preparation of the asynchronous decoding that we'd like to merge inside VLC.

François rewrote some parts of the mp4 demuxer related to seeking to improve fragmented MP4 and adaptive streaming support.

We've also had numerous fixes and improvements for the Direct3D outputs, but also for the OS X code signatures, SFTP input, libVLC playlists, Video Toolbox and subtitles handling.

Oh, and one more thing... we started to prepare VLC for tvOS. :)


This week was mostly a preparation for the next major release.

What we mostly did was fixing bugs, notably in audio playback, in cover art management, chapters display and in the bitmap cache.

We largely modified our Android Thumbnailer to fix regressions and support DVD thumbnails.

We also tweaked a bit the interface for advanced options and started to load asynchronously the images for the video list.

Finally we updated all the translations and pushed a version numbered 1.5.90 on the Play Store, in beta.


On iOS, we prepared and pushed the 2.6.5 release, fixing a couple of regressions, notably the handling of the vlc:// protocol.

The master was updated to match the latest libVLC 3.0.0 which we will base 2.7.0 on.

We also fixed a few bugs for this next version.

Finally, some code to build VLCKit for the new tvOS was merged.
It's very early though, but we have video playback! :)

tvOS simulator screenshot


Last week was a calm week, mostly on the UI side, for WinRT.

We've spent our week fixing regressions and issue in the thumbnailer, in the video output and fixing crashes.

No new feature, for once :)

That's all for this week! See you next! Have fun!

September 14, 2015 03:26 PM

September 08, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 17

17th week of VideoLAN reports

As this now almost an habit, here is the weekly report of what has happened in the VideoLAN community and VLC development, during the past week.

You'll see that this week has been busy on VLC's core and the WinRT port.

Features and changes


The week started by adding the support for the newest versions of libavcodec/libavformat, who deprecate a few API and symbols that we were using. VLC 3.0.0 will be fully compatible with those releases.

access and stream

We then had quite a few modifications in the size reported by the access modules, that allowed to introduce a new helper stream_GetSize() that correctly reports unknown file sizes.
Related to this, the stream_Read() and stream_Peek() functions now warn if one doesn't check the results; and a stream_Tell function was exposed through libvlccore.

The stream filter code was also streamlined to have a proper seek function, instead of a call to the Control() one and stream_Seek() was exposed to modules too.

The STREAM_IS_DIRECTORY Control call was improved, to behave similarly to the GET_SIZE one, and a ACCESS_IS_DIRECTORY was introduced in the same way.

All those changes are here to clean the VLC input and notably the stream filters, that were abused in their design. This is important to ensure that VLC always behaves in the same way, for all inputs, but also to correctly support all weird cases (a zip on a SMB share, containing an MKV with WMV in it).

We also removed the byte offset from seekpoints/chapters. Seeking is now only time-based.

the rest

The block allocation was reworked too: we remove block shrinkage feature and we added a block_TryRealloc() function.

Continuing the work of last weeks, the work on Video Toolbox acceleration for iOS and OS X was finished, mostly by fixing the memory management of frames.

The MediaCodec for Android code was modified to prepare the work on asynchronous decoding, by reworking the support for MPEG-4 video and allow late opening of the module.

The prefetch module was modified to support buffering while the input is paused.

Finally, the calls to the deprecated NSAutoreleasePool function were removed from all the OS X code; we removed the deprecated GnomeVFS module; we fixed issues with videos that have an alpha plane; and, of course, we've improved the HLS and DASH modules.


As already said, a large part of the work for Android was to improve again the decoding speed, which is a focus of us since quite a few weeks.

We fixed numerous issues for the Android TV port, but also in the playlist management, and the video lifecycle. Those issues were hard to track down, but they should be well fixed :)

The code of advanced options during playback was simplified and a corner-case fixed.

Finally, we've started to integrate the new DataBinding API into the application: this code is not merged yet, though. Maybe next week.


As for Android, most of the iOS work was done on the hardware decoders.

However, a bit of work was done on VLCKit to fix memory leaks and to rebase the work on top of the normal VLC code.


Once again, the WinRT port was the more active, with almost 100 commits in a week.

Most of the core changes were to solve deadlocks, notably after using the hardware decoders, and the Thumbnailer.

The interface was updated to fix alignment bugs and issues reported by numerous users.

A large work was done on gestures and keyboard shortcuts to support more of them!

Finally, the audio and subtitles synchronization was implemented to match the desktop and the iOS and Android versions!

A new release should be expected soon!


I was invited to speak at the Techniche conference about VLC, VideoLAN and the rest :)


That's all for this week! See you next! Have fun!

September 08, 2015 09:56 AM

September 01, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 16

16th week of VideoLAN reports

This weekly report of what's happening in the VideoLAN community and VLC development is a bit late, because I'm in India, a bit far from a stable Internet connection :)
However, here it is.

You'll see that this week has been busy on VLC's core and the WinRT port.

Features and changes


On Monday, Rémi rewrote the core part dealing with temporary files, introduced vlc_memfd() and rewrote the timeshifting code related to those files.

François worked on the background rendering of closed captions and subtitles, and improved the default style of subtitles.

Tuesday, the part of core dealing with caching was splitted from the core and moved into 2 modules: cache_read and cache_block. The core updated accordingly and should allow to have different and new caching strategies.
And indeed, Friday, we received a new stream filter module named prefetch.

Wednesday got us support for iOS hardware deinterlacing, at the Video Toolbox decoder level.
Controlling this is done as an option, which means it might not yet work with the libVLC calls.

We also got fixes in our HLS and DASH support to handle correctly absolute paths and also to simplify the manifests/playlists reloading.

The core was also fixed for a long standing bug on URL parsing with parameters.

Friday, we've added a new module, only for developers, named accesstweaks to simulate access failures and limitations (like limited seeking and slow access) to properly code demuxers.

And to finish, we also got bluray improvements, iOS vout cleaning; but also fixes for memory leaks, for Direct3D11 crashes and for MediaCodec transitions.


The WinRT port was quite active this week, with around 70 commits.

The week started with the cleaning of the Direct3D initializations, the DXGI calls and the libraries linked in.

We then fixed some issues about file management, deadlocks when creating the library and thumbnails.

We also removed a memory copy in the access plugin, for all files; that could improve quite a bit the performance and improve the seeking.

On the interface side, the support for chapters was added, to allow change while playing.
Also on the player, the look of the slider was updated to allow more precise seeking, and the volume slider to match the look of the rest of VLC.

Also, the light theme is back. :D

The colors and the symbols for all the actions were updated to be more consistent around the UI. The animations of the transitions were updated and made faster; and the file browser interface was improved, and adapted for Windows Phone.


This week work on VLC for Android was pretty boring, with only 2 fixes for older versions of Android (2.x), updates of translations and the export of libVLC.setUserAgent() in libVLCjni.

The rest of the work was done, in the VLC core, to improve greatly the VLC for Android performance, by using hardware acceleration in a better way.
This code is still on-going and is not merged yet, so it's not visible yet.


And unfortunately, iOS is not much better than Android, since just a minor change on Dropbox login was merged.

Once again, the reason is because of the work on the core, on Video Toolbox and on deinterlacing.

That's all for this week! Have fun!

By the way, don't forget to register now for VDD, this September, in Paris.

September 01, 2015 05:05 PM

August 24, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 15

15th week of VideoLAN reports

Yet another week, and yet another weekly report of what's happening in the VideoLAN community and VLC development teams!

We're going back to one report per week, as holidays are over.
But, to be honest, this week has not been the busiest, I guess mostly because of holidays.

Features and changes


Yet another week started with MediaCodec fixes, which prevented all MediaCodec decoding on most Samsung devices! Ooops :)

François fixed numerous issues with Closed Captions, in the decoder and the text renderer.
This also fixed some background alignment issues that we've had for years...

Felix merged his 0-copy code for the hardware decoding for iOS. This should get very good performances on iOS.

We had a couple of important fixes for the pulseaudio module, that were backported to 2.2.2; and we're now generating Diffie-Hellman parameters dynamically, instead of hardcoding them.

Finally, we had a MKV subtitles regression, an H.264 extradata parsing issue and a large number of memory leaks, that are now past history.


The Android project was moved to the latest version of the Android SDK, and to the last version of AppCompat and we had a few compatibility issues to fix.

We also updated our buildsystem to gradle 2.6, and updated the build-tools and gradle plugins accordingly.

We eventually fixed the loading for playlists and added an option to not rescan the database, if necessary.

In the end, we released VLC for Android 1.5.2 to the store, as a beta version.


As mentioned above, the most important part for iOS this week is the addition of 0-copy hardware decoding.

We also saw a small bug fixed that could make some files invisible from the media library.

That's not much, but the complete hardware decoding is big enough to explain this :)


WinRT was way more interesting, with a couple of releases.

After the 1.5.0 version for Windows, we published a version named 1.6.0, and then one 1.6.1, fixing numerous issues, notably:

We also published a beta for Windows Phone, named 1.6.0, introducing hardware decoding (disabled by default), and all the updates from the Windows world.

The code between Windows Phone and Windows is now more than 90% the same code.

Expect 1.6.2 and 1.7.0 quite soon.


The x264 project also received almost 20 commits, this week; mostly to fix build issues with Visual Studio, inclusion in C++ projects, and a few other minor bugs.

August 24, 2015 12:03 PM

August 17, 2015

Jean-Baptiste Kempf

Last weeks in VideoLAN - 14

14th weekly (!) report of VideoLAN

This week is a bit special, since I will report about the last 2 weeks, because of lack of connectivity last week.
So here is a double weekly report of what has happened in the VideoLAN community and VLC development teams!

Features and changes


The big change of subtitles handling of the previous week involved quite a few fixes for the Closed Caption module, the tx3g codec, the freetype, quartztext and win32 text renderers. There are a few fixes pending that have yet to be merged, but let's hope the biggest work is done.

Linked to this, we've added support to Closed Captions inside VC1 and AVC streams; the decoder was also improved, notably to support time interpolation. We've also added support to SBV subtitles (Youtube).

Once again, we've fixed things and added more support to the adaptive streaming module; the goal is to allow user selection in the interface of the resolution or adaptive algorithm.

The work on the code of the OS X interface went on: panels modernization, cleaning the creation and the destruction of the main interface, moving more code to ARC, etc...

Finally, we've fixed issues with decoding TS with encrypted programs, but also with bitrate control when encoding.


The Android port got a release named 1.5.1 that we pushed as a beta on the Store.
We moved to an Open Beta system for the delivery of those beta.

We've added the support for a new flag on our Intent, named title, so that you can override the title when launching VLC. The intent should now even support playlists.

We've fixed a few bugs on controlling from the remote on the Android TV version.
We've also reworked completely the network browsing code on the TV.

We've also fixed the deletion of the playlists, and issues when resuming an interrupted scan of our library.

Expect 1.5.2 and maybe 1.6.0 in beta soon.


VLC for iOS got quite a few changes lately.

First, the 2.6.4 version was pushed on the store, to fix a UPnP browsing issue.

Then, the VideoToolbox changes got merged into the iOS port. Hardware decoding should land in 2.7.0.

2.7.0 will also get, on iOS 9, a global search feature, using CoreSpotlight, as described in the iOS 9 preview. It should also now work fine with split-view.

Finally, some work has been started on an watchOS 2 application. More news on that later :)


VLC for Windows Store was even more busy, in the 2 last weeks.

We finally got a release, named 1.5.0, adding numerous features, and notably targetting Windows 10.


You should read Thomas' post about it.

In summary, new hardware acceleration, new interface, integration on Windows 10, and many more.

NB: We still support Windows RT and Windows 8.1.

That's all for those weeks! Have fun!

Don't forget to register now for VDD, this September, in Paris.

August 17, 2015 02:10 PM

August 04, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 13

13th week of VideoLAN reports

Yet another week, and yet another weekly report of what's happening in the VideoLAN community and VLC development teams!

Features and changes


Another week started with MediaCodec fixes, which went on for a few days and terminated with the addition of hardware accelerated Audio decoding on Android.

libVLC received new events for audio corking, muting, volume changing and audio devices: libvlc_MediaPlayerCorked, libvlc_MediaPlayerUncorked, libvlc_MediaPlayerMuted, libvlc_MediaPlayerUnmuted, libvlc_MediaPlayerAudioVolume, libvlc_MediaPlayerAudioDevice.
I backported the first few to libVLC 2.2.2.

The internal of VLC subtitles were completely rewritten, changing the way we're passing the text information from demuxers to decoders to text renderers.
We are now passing some structured text around, with styles information attached to it, instead of pseudo-HTML. This allowed to remove a large piece of duplicated code from text renderers, and put the complexity on the parsing side, not on the rendering side.

The H.264 NAL parsing was largely improved to fix the remaining problems of VideoToolbox for OS X and iOS, notably for frame re-ordering.
The VideoToolbox decoder should now be totally usable.

We added a new speech-to-text subtitle renderer for OS X, that speaks the subtitles instead of showing them on the screen. Of course, this is not for everyone, but it should help in accessibility cases for vision-impaired people.

The OS X interface cleanup work was continued during the whole week, by David, and will probably go on the next weeks.

Finally, we got fixes for AudioTrack (once again), notably for SPDIF support; for numerous memory leaks and some uninitialized variables.


This week was rather calm (but not too calm) on the Android side of things, mainly because of the work on the other projects.

First, we integrated the VLC core changes to improve performance. VLC 1.5.1 should be quite competitive on this matter.

Then, we rewrote completely most of the video player advanced options, using icons in a new single panel.

We also improved the integration of vlc:// protocol and the Intents for 3rd party apps and websites when they try to launch VLC.

Finally, we improved the libVLC JNI API to support SurfaceTexture directly.


The work for VLC for iOS 2.7.0 was continued greatly this week. And VLC 2.6.3 was pushed on the store.

A large amount of work was done to support RTL languages, as it was announced for iOS 9.
This requires more usage of AutoLayout in our code.

Also, the thumbnail cache was improved, the side menu is getting a lift and a few crashes were fixed.

Some important work was done on MobileVLCKit to make it usable as a shared library framework.

Finally, the integration of VideoToolbox was merged for the iOS project.


Like last week, the WinRT port received quite a few changes.

Most of the changes are about the interface, to prepare the integration for Windows 10, to get a more consistent interface, and to listen to user's feedback.

The rest of the changes are on the Direct3D11 hardware decoding.

We'll see how all this gets merged and released soon.


x264 got a new release, and a bit of code merged in the master branch.

It notably adds:

That's all for this week! Have fun!

Don't forget to register now for VDD, this September, in Paris.

August 04, 2015 12:12 PM

July 29, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 12

12th week of VideoLAN reports

The summer goes on, and here I publish another weekly report of what's happening in the VideoLAN community and VLC development teams!

This week was quite cool, and quite busy, with some of the team going to Spain for aKademy!akademy2015.jpg

Features and changes


The week started by the continuation of the OS X cleaning by Felix, preparing for the next releases of OS X and Xcode, removing the old QTCapture module, switching more code to ARC, splitting the code of the interface in smaller files and improve the code style of the OS X modules.
This important cleaning work went on until Wednesday night.

The Windows code is now calling SetThreadErrorMode() on Windows 7 and is calling a fallback for older versions. This is necessary for proper thread-safety of libVLC.

The helpers vlc_access_NewMRL(), vlc_access_Delete() were introduced in the core, along with inline function helpers like vlc_access_Tell(), vlc_access_Seek(), vlc_access_Eof(), vlc_access_Read() and vlc_access_Block().
All this should make the writing of an access modules easier.

And we got a new concat access module, to concatenate multiple access objects, using those new APIs.

Rémi went on by simplifying the peek() features of the stream filters: we have now a generic stream_Peek() front-end and now pf_peek are now gone from stream filter modules. At the same time, access_GetParentInput() and demux_GetParentInput() got removed from the core.

François added the support for alternative audio/groups in HLS, fixed relative paths in DASH, and finally merged both HLS and DASH modules into one adaptive module; this will make improvements in one format available in the other. He also added support in DASH/HLS for parsing the language, the role and the description of each track.

We deprecated libvlc_media_player_set_agl(), because this is an old Apple technology that noone uses anymore. And we fixed the plugins cache signature issue on OS X.

Finally, Rémi worked on ACCESS_GET_CONTENT_TYPE to remove the access_t.psz_demux variable that was used to force the demuxer from the access module. This was a dangerous design that did not work well with stream filters.


The Android port got a few fixes on the audio output, notably a circular buffer to improve the whole VLC performance, a hack for 4.4.2, and stabilization for Android Lollipop.
In the core, we also added interlacing detection for MediaCodec acceleration.

On the interface side, the important changes were mostly on the Android TV version, notably adding Now Player Tile and fixing reported issues.


Last week was quite busy on iOS, culminating with a 2.6.3 release.

On the VLCKit SDK, we removed headers that are useless on iOS (MobileVLCKit). We also fixed crashes in the MediaLibraryKit SDK.

Then, more than 20 commits were pushed and 6 tickets closed to fix random crashes of the 2.6.x versions of VLC, including backports from the 2.7 branch.
The 2.6.3 tag was pushed on Friday, ending the week. :) It should be on the store in the next days.


After a few calm weeks, the WinRT port got a lot of work this week.

First, we added a SlideShow subproject, to display nice animations in the background.
Then, we fixed the MediaFoundation backend, we fixed some issues with the new SDK and new VisualStudio version and the newer libVLC.

We then updated slightly the desktop design and the icons, in order to simplify the interface and the mini-player, and match the Windows 10 look.

The interface for Windows Phone was also improved for Windows Mobile 10.

Finally, quite a bit of work went into the hardware acceleration for Direct3D11. It's almost fully working for us :)


The first code was pushed to the Mike git repository to build libVLC on Tizen.

Community and VDD

As you saw in the introduction, Rémi, Felix and me went to aKademy to speak with our KDE friends. It was in A Coruña.

We also finally announced VDD for this September, in Paris. Register now!

July 29, 2015 10:37 AM

July 20, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 11

11th week of VideoLAN reports

Yet another weekly report of what's happening in the VideoLAN community and VLC development teams!

This week was quite hot, in the real world, and we're in the core of the summer; therefore this week was quite calm on all fronts :)

Features and changes


A large part of the OS X interface was rewritten by Felix, to use more modern code, notably Objective 2.0 features.
We've seen notably the usage of automatic properties synthesis, the removal of object instances in the xib files, the removal of the support of Mac OS X 10.6 and the class APIs reduction. All this should modernize the VLC OS X codebase quite a bit. :)

The port of VLC and libVLC to Tizen was started this week too. Currently, we have the core, the contrib, most modules and libVLC compiled with the Tizen SDK. More info here.

As often lately, we've seen also fixes for HLS, notably to fix a regression on Windows, where no HLS stream were working and one to correctly support AAC audio.

We've also added support for WebVTT subtitles inside MKV, fixed a few memory leaks, and a regression in the DirectShow input module.

This week was quite calm, as I said before. :)


Last week, as promised, we've released VLC for Android 1.5.0, as a beta, on the store, for the testers from our communities.

We've therefore spent a lot of time fixing regressions and bugs for this release.

We've also fixed a few issues for the Android TV version: the previous weeks changes introduced some regressions, especially for the background video playback feature.


The iOS port got integration of CoreSpotlight to support global search for iOS 9.0.

We've also pushed a few fixes, as usual.

I know all this is a bit less than the usual work, but it's the summer. I hope we'll get more done next weeks... :D

That's all for this week! Have fun!

July 20, 2015 12:47 PM

July 13, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 10

10th week of VideoLAN reports

This is my 10th weekly report of what's happening in the VideoLAN community and VLC development teams!

It's quite cool, that I've been able to not drop it :)

Compared to the previous week, this week was quite active, even if most changes were not very visible :)

Features and changes

On Monday, we removed the rest of the port of VLC on Symbian, and pushed more fixes for the OS/2 and Solaris ports.

Rémi went on with the work from the previous week about interruptible I/O in VLC' core. We have now vlc_mwait_i11e() and vlc_msleep_i11e().
Later during the week, vlc_cleanup_run() was completely removed from the core.

On Wednesday, Thomas fixed some important Android AudioTrack issue for the HDMI output of the Nexus Player.

We removed the ATMO video filter, because of the lack of maintenance, and the limited use-case.

At the end of the week, David did a large refactor of the resume dialog on the OS X interface and François added support of Atrac3+ inside Wav files.

Finally, we fixed numerous memory leaks in D3D9 and Qt interface, we pushed HLS and XML parsing fixes, and some large cleaning of the acoustid, remoteosd, audioscrobbler, fingerprinter and addons modules.


This week, we released 2 versions of VLC for iOS on the store: 2.6.1 on Wednesday, and 2.6.2 on Saturday!

Most of the changes of those 2 versions are fixes for regressions we've had in the 2.6.0 release, that were reported by users.

Quite a bit of work was continued on 2.7.0, notably on hardware acceleration, and network browsing support. We'll see when all this ends in users' pockets :)


The cleaning of the core of the Android application was continued, once again. We should now be at the end of this work:

The audio device management was changed to better support HDMI on the Nexus Player.

Finally, numerous fixes were pushed for the Android TV port, including background video playback and better search integration.

This should give us a 1.5.0 release this week of VLC for Android!

That's all for this week! Have fun!

July 13, 2015 10:50 AM