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

VLC

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.

WinRT

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.

Android

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.

iOS

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.