This week in VideoLAN - 13

3 August 2015

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:

  • NV21 input support,
  • Experimental NASM support,
  • Fixes for some CAVLC overflow, some memory leaks, and file handle leaks,
  • SSSE3 and AVX2 implementations of plane_copy_swap, for NV21 support,
  • Support for MSA MIPS architecture, for SIMD on MIPS,
  • Early Power8 support.

That’s all for this week! Have fun!

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

Jean-Baptiste Kempf


  1. On 24 May 24240, 10:02 by Jean-Baptiste Kempf

    @Yves Delerm: yes, please take the MVK 2.7 branch. It should work fine.

  2. On 21 May 21210, 9:57 by Yves Delerm

    I see that there has been work on MobileVLCKit to make it usable as a shared library framework. Is that available now ? Would that allow to use in in a ioS8 swift coded application ?

    Thanks in advance

  3. On 7 May 7070, 8:54 by Anonymous blog

    VLC 1.5 – On the road to Windows 10 | Fox Coding

    (…) If you want to have a precise look at the changes made in VLC those past few months, you should have a look at the Jean-Baptiste Kempf blogposts he writes every week. (…)

  4. On 5 May 5050, 9:30 by Jean-Baptiste Kempf

    @trog: thanks. We don’t make promises about the future, because people are pissed if it is not implemented in the end.

    @sherington: depends what you want, but yes, it should be easier.

  5. On 4 May 4040, 6:31 by sherington

    How feasible is it to expose the subtitles via LibVLC? Does the new implementation make this any easier to do?

  6. On 4 May 4040, 4:10 by trog

    Just a quick note to say thanks for the work on VLC, but more specifically the work posting these updates.

    Normally with software projects the only way to find out what is going on with them in terms of activity is to read the release notes as new versions are released. Maybe if you’re really keen, you’re monitoring commits, but a lot of these will be low level changes that don’t give you a feel for what is going on at a higher level.

    These blog posts are an awesome way for me to keep up with what is happening with VLC, and I can look forward to these new features one day landing on the platforms I use.

    The only thing that would make me even happier is maybe some form of timeline about when the new features might be expected to land in new versions. Knowing that some new feature is going to be available in a month or a couple weeks or whatever would be awesome.

    Thanks again,