This week in ...

Continuing what I started last week, here is a second post summing up what happened, this past week, in the VideoLAN community and VLC development teams.

Features and changes

VLC

Monday started with fixes for UPnP on VLC, especially on Windows, due to a bug that is inside libupnp, only on Windows. It should fix most of the infamous issues, of VLC and UPnP/DLNA.

The work on adaptive streaming and DASH done by Fran├žois was continued. Notably, it should add support for TLS (HTTPS), improve the debug messages, split more the code, support subsegments in segmentBase and improve seeking to subsegments.

Some important networking code was changed and simplified, and a core API was added to help TLS connections: vlc_tls_Read, vlc_tls_Write and vlc_tls_GetLine.

In the Mac OS X interface, the about dialog, the add-ons manager dialog and the error panel were heavily reworked.

The core now uses MSG_NOSIGNAL in network calls to avoid SIGPIPE firing that could happen when using libVLC.

The poll() reimplementation for Windows was rewritten, and large changes in the threads implementation were merged, notably in the vlc_cond_broadcast and vlc_cond_signal functions.

Quite a bit of cleaning got into the Freetype module, configure and the buildsystem.

Android

As often, we tried to fix some of the issues we had with Mediacodec on some devices, and we fixed some issues on PPS/SPS changes.

On the interface side, the work on browsing was continued, this week, adding a new Material button, splitting correctly the preferences part, and adding an arrow to browse back.

Also, some useless animations on activity changes were removed, crashes and memory leaks were tracked and fixed.

Finally the version 1.4.0 of VLC for Android was released and pushed out to the beta channel! We're waiting for issues, before pushing it to everyone.

iOS

This week, a lot of work was merged, around 190 patches.

VLC for iOS now supports the Apple Watch! You can control your playback directly from the watch.

The media library and playlists were reworked to allow a mini-player like the Android and WinRT versions of VLC.

Numerous changes were merged to fix a lot of bugs reported in 2.5.0.

The OpenGLES2 video output also had a fix for a bug when the View and Superview had different sizes.

Finally, the version 2.6.0 beta of VLC for iOS was released and pushed to the beta channel!

New releases of VLCKit and MediaLibraryKit have been done too, to support those changes.

WinRT

This week got us the release of the version 1.4.0 of the WinRT port of VLC. It should bring subtitles and DLNA back to the x86 version. It should also add better local metadata support.

The release was made possible thanks to fixes in the internal way we open files.

The work is still in progress, and we'll probably do a new release, next week, that will work on ARM too, and on Windows Phone.

libbluray

We prepared a release of libbluray, named 0.8.1, to fix an important crash in bd_open().

It should also fix some non-checked allocation failures.

Web plugins

The web plugins compilation on OS X was fixed, by moving the platform target to X.6.

libvlcpp

The C++ bindings got support for 2 new added APIs this week: one for Equalizer and one for the imem/libvlc_media_new_callbacks; and an example application was added for this API.

Some improvements on the C++/CX Media constructor were also added.

See you, next week!

Of course, I have probably forgotten some minor things, but that should be most of it!

Have fun, and see you next week!