31st VideoLAN report

After the holiday season, this is the last of the weekly reports for 2015 for VideoLAN and VLC development!

Technically, we're already in 2016, but this report will cover the last 2 weeks of 2015 and only a few days of 2016. :)

C

Features and changes

VLC

As one can expect if one has read my previous reports, we had quite a few improvements on the HTTP/2 pipeline (multiple cookies, test cases, ...) and on the HEVC/H.264 packetizers (test cases, SEI...).

When using libVLC, it's now simple to know if the titles are menus or are interactive, with the libvlc_media_player_get_full_title_descriptions call.

In the decoder core, the call decoder_AbortPictures was added, to finish our work on asynchronous decoding; notably to support flushing when doing asynchronous decoding.
Some related work on draining/flushing was also done in avcodec and mediacodec modules.

We've added a way to have tunneled-playback through mediacodec on Android for surface with punch holes. This is only for developers who work on a specific platforms and SOCs, since you must know what you are doing. :)

In the streaming output, we've added sout_MuxFlush to be able to flush, notably useful when seeking the input.

We've also got quite a few commits on the ChromeCast module, preparing the work that will come soon, to have a proper support of those devices.

On OSX, we've had a large rewrite of the messages and the information dialogs.

Finally, we've had improvements on the H.264 and HEVC demuxers, and on the adaptive streaming modules, fixes on the iOS video output, and a lot of small fixes for leaks and crashes.

iOS

On iOS, we've released VLC for iOS 2.7.0. Finally ! :)

It has brought quite many new features and improvements:

  • full iOS 9 support including split screen and iPad Pro,
  • re-written Apple Watch application for watchOS 2,
  • system-wide search for content stored locally within the app using “CoreSpotlight”,
  • Touch ID support to unlock the app,
  • full support for Right-To-Left languages,
  • support for SMB (Windows shares) file servers,
  • highly improved subtitles rendering with font fallback for non-western languages,
  • list of recently played network streams and stored login credentials are shared across devices using iCloud.

Be careful, this version requires iOS 7 to run.

We also released a version 2.7.1 to fix the important bugs we saw in 2.7.0.

Android

On Android, we've done 3 minor releases, 1.7.3, 1.7.4 and 1.7.5.
Those releases fix a lot of bugs, but also improve the Android TV version, notably on the audio player and the now-playing cards.

A large addition was added to the master branch, to support sources extensions.

A bit like on the desktop version, where we have services discovery, one might want to add new source of content, to the VLC on Android application, like ISP-specific TV channels, like Google-Drive browsing, podcasts, or social-network videos.

Those sources extensions will appear a bit later, on the Play Store. :)

We've also added support for Search inside the audio playlist and a playlist in the video view, when using a second-screen!

WinRT

On WinRT, the work was done to improve the navigation stack, and the way we move inside the application, including the hamburger menu. We've improved the MiniPlayer too.

Finally, we've done major refactoring of files and projects to be have a better file layout.

libdvdcss

As you might have seen, we've finally done a new release for libdvdcss!

Happy New Year!

So, that's all for the last weeks!

For everyone, I wish you a happy new year, and give you all my wishes of health and success!