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, ...

February 01, 2016

Jean-Baptiste Kempf

15 years of VLC and VideoLAN

15 years!

Today marks the 15th anniversary of VLC!


Cone-Video-large.png

GPL

Technically, today is the 15th anniversary of the relicensing of all the VideoLAN software to the GPL license, as agreed by the École Centrale Paris, on February 1st, 2001.

VideoLAN_GPL.jpeg

If you've been to one of my talks, (if you haven't, you should come to one), you know that the project that became VideoLAN and VLC, is almost 5 years older than that, and was called Network 2000.

Moreover, the first commit on the VideoLAN Client project is from August 8th 1999, by Michel Kaempf had 21275 lines of code already, so the VLC software was started earlier in 1999.

However, the most important date for the birth of VLC is when it was allowed to be used outside of the school, and therefore when the project was GPL-ized: February 1st, 2001.

Facts and numbers

Since then, only on VLC, we've had around,

And all that, mostly with volunteers and without turning into a business!

We have now ports for Windows, GNU/Linux, BSD, OS X, iPhone and iPad, Android, Solaris, Windows Phones, BeOS, OS/2, Android TV, Apple TV, Tizen and ChromeOS.

Future

If you read this blog, you know that we're working hard on VLC 3.0, to unify most of our mobile ports, adding more GPU decoding, better adaptive streaming and ChromeCast integration.

We're still here and working for our users.

Thanks

So, for all our users supporting us, I just want to say: thank you!

Cone-Video-large.png

February 01, 2016 05:25 PM

January 31, 2016

Jean-Baptiste Kempf

These weeks in VideoLAN - 34

34th VideoLAN report

I was traveling quite a bit lately, so here is a double-week report about the VLC and VideoLAN communities.

FOSDEM

Once again, the VideoLAN team was present at FOSDEM.

Here is a the usual Delirium Cafe photo!

FOSDEM 2016 Delirium

And of course, my talk about VLC 3.0.

FOSDEM 2016 VLC talk

Features

VLC

The first change was related to ChromeCast: a new module was added, to split the control of the chromecast from the streaming part. More code on that feature should come in the next weeks.

Petri then got us support for a Bluray demuxer in our Bluray module. It was only an access_demux before, and will now allow to open ISO files of Blurays over the network, including FTP, SMB, NFS or HTTP. Additionally, you can now use the default drive with the MRL bluray://.

We fixed the support of Windows XP for the 3.0 release: but XP support is now only on a best-effort basis.

François also got support for ATSC A65, aka PSIP, or information like EPG and related, for ATSC broadcasted streams.
Almost at the same time, we received support for SCTE-18 / AES, aka alerting system inside broadcast.

Hugo added support for Metadata over UPnP, (notably artist, album, cover ART and related fields) and fixed quite a few issues on this module.
We finally will get proper UPnP support soon!

We also received fixes for TS sections, dialogs, win32 installer, TS seeking, DxVA decoding and MIDI. And also improved the features merged in the last weeks: keystore, the dialogs and SMB modules.

iOS / Apple TV

After the release of the Apple TV version in my last report, we produced 2 updates to fix bugs: 1.0.1 and 1.0.2.

We're still waiting for feedback to improve for the future releases.

On the main development branch, we mostly got:

Android

Android development was quite busy too, as it's been the usual in the last few weeks.

The most visible change is that from now on, you will have only one version and apk for both Android TV and Android.

We also got:

WinRT

WinRT development was quite active too, mostly focusing on a complete UWP project.

Thomas:

That's mostly it for those weeks, see you next time!

January 31, 2016 10:44 PM

January 19, 2016

Jean-Baptiste Kempf

This week in VideoLAN - 33

33rd VideoLAN report

This is my second report in 2016 about what happened last week in the VLC and VideoLAN communities.

VLC on AppleTV

Of course, the big news of the week was the release of VLC for the AppleTV.

Apple TV is the latest platform to which we added VLC support, to continue the VLC everywhere route, after VLC on ChromeOS, VLC for Android TV and VLC for Windows Phone that we added last year.

You can read more about it on Felix's blog and on our website.

We hope you will enjoy VLC on this new platform.

Features and changes

VLC

Monday started with the addition of a NFS protocol implementation to VLC. This will allow us to access and browse files and directories on NFS shares, on all our ports, including Windows, Android and iOS, where this protocol is not natively included.

We then got multiple fixes on the new Keystore API and the corresponding implementations, notably in the SMB and SFTP modules.

The AVI demuxer module was fixed to help reducing the number of connections for distant streams on interleaved files. This should reduce the load on the servers, when playing those files.

Multiple fixes and improvements were pushed on the TLS code, continuing the work from the previous week. Notably, to use I/O vectors for sending and receiving messages.
Then, the TLS code was abstracted to allow TLS sessions not directly above TCP, like in the TLS over TLS case. This big refactoring was necessary to add the support of HTTPS through HTTPS proxies.

Finally, we received numerous fixes for crashes, memory leaks and small issues.

Android

On Android this week, we had quite a few changes too.

We now have a manual way add network servers, like FTP, SFTP, SMB, NFS or FTPS.

On the Android TV, we've improved the settings, reworked heavily the playlist and the advanced options navigation, and refactored completely the video listing, to allow alphabetical sorting and browsing.

Finally, we changed the seek buttons to 10 seconds, instead of 30; we now show bitrate information in media information dialog for audio files and we improved the playlist items' look and navigation.

Try a nightly build to test all those features!

iOS / Apple TV

So, as said in the introduction, VLC for Apple TV was introduced this week, in its version 1.0.0.

Based on the iOS version, it's finally a bit different, to accommodate the specialties of this platform. Especially the casting we introduced is not seen in any other port of VLC.

You should read more about it on Felix's blog.

At the same time, we released VLC for iOS 2.7.2, fixing minor reported bugs.

That's mostly it for this busy week, see you next!

January 19, 2016 09:34 PM

January 12, 2016

Felix Paul Kühne

Announcing VLC for Apple TV

Today, we are proud to announce VLC on the Apple TV. It’s a full port of VLC media player combined with platform specific features.

VLC for Apple TV integrates with a plethora of devices and services on your local network and includes a custom way of casting files directly to the TV from your other computers using a web browser!

Background
Immediately after Apple announced the future of television, we started to develop for the new box and now it is finally ready to be published. This is the first app we release with the increased limit of 2000 TestFlight beta testers, who had access to our app since mid November and greatly influenced the result. We were excited about the amazing amount of feedback we received.

Our mission for VLC for the Apple TV was to fulfill our claim “plays it all” and we got close:  it supports virtually all formats under the sun (like the iOS version of VLC). Before demonstrating VLC’s advanced playback experience on the Apple TV, let’s discuss about ways how to actually access content!

0x0ss-4

Content Discovery
VLC on the Apple TV automatically discovers storage and shares on your local network (using the SMB, UPnP media server, FTP and PLEX protocols). You can browse them with the clicker or the Remote, select the content you want and it will play.

During playback, you’ll be able to add subtitles from OpenSubtitles.org. Login credentials can be securely stored on your Apple TV and will be synchronized to your iPad or iPhone (and the other way around) to ease access.

0x0ss-3

Remote Playback
However, what about network streams and files you don’t have stored on your server? This is where Remote Playback steps in. On this view, VLC shows an address (and an IP) on your Apple TV. Open it using your web browser. Drop a file to play it on the big screen, drop multiple files to queue them. Until storage hits its limits on the Apple TV, the files will remain available locally on device.

For playback of a network stream URL on your TV, just paste it to the field and push return. Once playback concludes, you will find it in the Network Stream view for future use. Like for files, you can send multiple URLs rows in a row and they will be attached to the playback queue.

Finally, the web interface can be used for play/pause and seeking.

remote playback web interface

Speaking about network streams. URLs recently played on iPad or iPhone will appear along with the ones played on the big screen automatically.

0x0ss

Playback
VLC for the Apple TV supports the basic play, pause and seek. Additionally, you can navigate by chapter and titles or pick from multiple audio and subtitles tracks.
Watching a talk and you’d wish the speaker would be a bit quicker? Set your custom playback speed, a feature we missed from any other player on the Apple TV so far. As VLC is increasingly used to watch talks and documentation in education, it was naturally of high importance for us to include this feature from the start.
You enjoy listening to web radio or music? We believe that just showing album art is a bit boring so we integrated with the community service hatchet.is to show artist imagery and biographies – give it a go!

Let’s go back to subtitles for a second: VLC on the Apple TV supports any kind of text (srt, SSA, WebVTT, …) or bitmap subtitles including full support for Right-to-Left languages like Arabic and Hebrew, complex text layout for Malayalam as well as further Asian languages.
What to do when subtitles are not included with your media? Within the playback view, you can find VLC’s first integration on embedded platforms ever with OpenSubtitles.org!

0x0ss-2

Outlook
When looking closely, one content source known from VLC’s iOS port is missing so far: Cloud Services! Support for Dropbox, OneDrive and Box is currently in beta testing using the TestFlight platform. It will appear shortly after.

The day Apple announced the new device, we immediately started porting VLC to their new operating system and finally, our initial version was approved! We are excited about this first new port of VLC in 2016 after concluding 2015 with a port to Chrome OS and are really looking forward to your feedback!

I can’t thank Tobias enough for his dedication during the last quarter to make this possible.

January 12, 2016 04:00 PM

January 10, 2016

Jean-Baptiste Kempf

This week in VideoLAN - 32

32nd VideoLAN report

Another year, and another week working on VLC and VideoLAN.

Happy New Year 2016!

Features and changes

VLC

Another week started with improvements on the new HTTP/2 stack.
We mostly got support for HTTPS through HTTP proxy and HTTP tunnel (RFC7639) but also a better documentation and better cookies handling.

The large work of the week was the merge of the new Keystore API for the VLC core.
It allows to store user passwords and credentials in the secure storage provided by the Operating System. This is notably for HTTP or SMB passwords.

This was implemented for HTTP, RTSP, SFTP, FTP(S), SMB. And we have now a KDE Kwallet, a Gnome libsecret and a plaintext backends to store those in the disk.
Hopefully, one for iOS/OSX and Windows will follow soon.

The TLS support has a new shinny test, that helped improve the GnuTLS module, which provides TLS on most platforms. This is going to be important for HTTP/2.

To also help this HTTP/2 module, the core got a new socket function named vlc_socketpair() to create a pair of sockets.

The H.264/HEVC packetizers were made faster, using some SSE2 optimizations.

We also should detect now JP2K inside TS streams.

Finally, we've had fixes for securetransport, improvements for the OS X interface, and improvements on the EAC3 detection in TS.

Android

Android port got quite busy this week, with more than 50 commits from Geoffrey.

In summary, we:

:)

iOS

After releasing VLC for iOS 2.7.1 last week, we prepared a version named 2.7.2 fixing more issues reported, notably for UPnP playback, changing subtitles size and passcode lock.

This release is in review on the store.

At the same time, we've prepared the release of the Apple TV version, that will be out this week, (if everything happens according to schedule).

WinRT

The WinRT port is getting in shape and was quite busy too this week, with almost 50 commits from Thomas!

The largest part of the work was the improvement of the Database speed, playing with threads, bindings and properties.

We fixed a large number of bugs on this part.

We also improved and fixed the look for the navigation, when switching from Light Mode to Dark Mode.

That's all, this week for VLC! All my best wishes for 2016!

January 10, 2016 10:45 PM

January 03, 2016

Jean-Baptiste Kempf

These weeks in VideoLAN - 31

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:

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!

January 03, 2016 09:39 PM

December 24, 2015

Jean-Baptiste Kempf

libdvdcss 1.4.0 release

libdvdcss 1.4.0

For once, just a very short blogpost, to announce that libdvdcss 1.4.0 is out!

This release is a major release of libdvdcss, released a bit more than one year after 1.3.0. It's focused on stability, cleaning, deprecating and small improvements.

In terms of commits, this is also a very large release, with more than 150 commits (on a total of 486 since libdvdcss creation).

Features

The biggest feature of 1.4.0 of libdvdcss is the support of ISOs over the network, with the introduction of the dvdcss_open_stream() function in the API.
This is the first time in a long long time, that we add a call to libdvdcss. :)

We've finished the porting to Android, with key caching. NOTE that the default Android cannot open a USB DVDs player, nor can VLC for Android use them.

We've also added an optional header file, named version.h, to help detecting the version, if you ever use libdvdcss statically (very rare case, I believe).

Finally, we've spent a lot of time to clean, and make a big lift-up to this library. If there are not too many regressions, the cleanups will go on, next year.

Deprecation

In this release, we've dropped the support for:

If you are on those OSes, please keep using the old libdvdcss versions.

Download

You can download it now, on your favorite website!

December 24, 2015 11:13 AM

December 22, 2015

Felix Paul Kühne

VLC for iOS, version 2.7.0

Today, we will release a new major version of VLC for iOS. Note that due to adapted review guidelines, it is branded “VLC for Mobile” on the iOS App Store now.

We have been working on this update for the last few months, so it adds a lot of features:

feepk_2015-Nov-23

On the playback and networking side, we added

This release includes a lot of UI improvements, bug fixes and last but not least a newly designed sidebar menu!

Finally, this release drops support for iOS 6.1. VLC now requires iOS 7.0 or later.

Simulator Screen Shot 22 Dec 2015 16.19.54

This major update is the result of 4 months of work and I would like to thank TobiasCarola and Pierre for their dedication to make this possible.

Stay tuned, we have more exciting things in the pipeline, which we will happily present very soon.

feepk_2015-Nov-09

December 22, 2015 03:21 PM

December 21, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 30

30th week of VideoLAN reports

And, closing to holidays season, another week goes by, another weekly report about VideoLAN and VLC development you get!

C

Features and changes

VLC/ChromeOS release

If you've missed it, this week, we released the first version of VLC for ChromeOS under the GPLv3 license.

This is a port of the Android application to the Android Runtime on Chrome.

It shares most of the code with the Android version, but includes a few ChromeOS specific modifications.

We've had good feedback on it, but there is still a bit of work to do, from our side, but also from Google's side!

That was the last desktop OS that we were not on. Try it!

VLC

This week, the biggest chunk of work was on HTTP/2, like mentioned last week.
HTTP/2, HTTP and TLS rework in VLC got us 110 commits, on a total of 175.

The second large work of the week was the rework of the NAL (SPS/PPS) parsing and usage for H.264 and HEVC (42 commits, this week).
This impacted most of the hardware and software decoders, packetizers and muxers.

For both HTTP/2 and NAL parsing, I believe we'll see more commits next week too. :)

We've added the support to raw RGB and GREY video inside mp4.

Finally, we've also fixed build issues, memory leaks and small improvements on the Chromecast and the Youtube modules.

Android

On Android, we've started to fix a few regressions that were in the 1.7.x releases, notably small crashes and wake-keeping when playing.

We've re-added the History section that was present a long time ago. It's completely rewritten, though.

We've improved our databinder, our video playlists, and our Android TV behavior.

And of course, merged everything for the ChromeOS port.

iOS

For iOS and the tvOS application, we've submitted all the applications. We're now waiting for the Apple Store reviews.

It might be long to review, because of the holiday season!

And of course, we've already fixed a few bugs on the master branch, but no major feature, until we get a release :)

WinRT

The WinRT port was quite busy last week, with more than 50 commits!

The biggest changes were mostly done:

We hope this redesign/rework will be done and pushed on the store, in the next weeks.

That's quite a busy week, see you next time!

December 21, 2015 12:14 PM

December 17, 2015

Jean-Baptiste Kempf

Announcing VLC for Chrome OS

VLC on ChromeOS

ChromeOS is one of the last Operating Systems where you could not run VLC and play all your media as you wished. :)

Even worse, it was the only significant Desktop Operating Systems that we did not support (so far, VLC exists for Windows, OS X, Linux, BSD, Solaris, OS/2, Haiku/BeOS, ReactOS).

At the same time, VLC for Android is quite popular and is supported on most phones and tablets, and is currently being expanded to Android TVs or other forms of Android.

Today, I'm pleased to tell you that you can use it now! DOWNLOAD!


Chrome-Player.jpg


Android Runtime on Chrome

A few months ago, the Chrome team announced the possibility to run some Android applications on Chrome OS using the new Android Runtime for Chrome. Starting from that moment, we wanted to support this runtime.

Why did we want ARC support?

VLC is mostly a native application on all ​platforms​, using low-level APIs to output video, audio and get access to threads. VLC is using mostly C, C++ and hand-crafted ASM to get the best performance, as required for a realtime application.

Therefore, it's currently impossible to port VLC to Javascript and other Web technologies (or FirefoxOS). It might be possible in the future, but this is off-topic. :D

Usually, the mobile ports of VLC, like VLC for Android, VLC for iOS or Windows phone, use the native language of the platforms to create the interfaces and the media database.

For ChromeOS, the only solution we saw, before ARC was announced, was using PPAPI, NaCL and Javascript, but that would require to rewrite a complete interface in Javascript and would be a bit problematic for the database. That work would have taken months of work.

Therefore the ARC solution was a blessing, and helped us to recycle 95% of the Android code and optimizations we did in the last months (some are not released yet).
Of course, some work was required, nothing is magical, but way less than other solutions.

Features

VLC on ChromeOS supports:


Chrome video listing


Open Source and Free Software

As everything VideoLAN is doing, VLC for ChromeOS is completely free and open source.

We would LOVE help to improve this port! Join the community, fork the code and send patches!

The source code is licensed under the GPL (v2 or later) and is currently distributed as GPLv3, like VLC for Android.

Compatibility

The current version was tested on the 2 ChromeBooks we had access to:

It is possible that there are issues with other machines, and we ADVISE to use the latest Chrome 48 or the current beta version, to test VLC.

Please report the bugs, if you can!

Nota Bene: ChromeBit

Currently, the Chromebit by ASUS is untested, because it seems to be not available in France yet, and ASUS did not answer to our query to get access to one.

Any testing on this would be welcome!

Nota Bene 2: ARChon

In the same way, ARChon Runtime is currently not supported, because it was not tested at all.

Help on this is welcome too!

Download

You can download it here!

Be careful, it's just the first release, but for now, Enjoy!

December 17, 2015 05:30 PM

December 14, 2015

Jean-Baptiste Kempf

Last weeks in VideoLAN - 29

29th VideoLAN report

This report is a bit special, since the previous week-end was the VideoLAN meeting in Barcelona, so I did not do a post last week.

So, I'll cover in this post, the work of the last 2 weeks on VideoLAN and VLC development.

VideoLAN meeting

The VideoLAN team met for our 4th quarter meeting, in Barcelona, Spain, in the offices of Skyscanner. VideoLAN @Skyscanner

We were around 20 for 2 days, and worked on quite a few things around VLC. VideoLAN working in Barcelona!

During the week-end, we worked on:

So, all in all, a quite busy week-end :)

Features and changes

So let's discuss a bit more in details, what got merged, in the last weeks.

VLC

Core

The fight against the deadlocks in the input and video output core went on during the last 2 weeks. To solve this, the core got 2 new functions named picture_pool_Cancel() and vout_Cancel() for the video output and the function vlc_fifo_TimedWaitCond() which allowed to introduce an interruptible mwait in the decoder core.
We should now be close to the end of these issues.

Related to this, all the decoders and packetizers now have a pf_flush function that they can implement. This flush was notably re-implemented in the libavcodec module.

VLC now has support asynchronous decoding, in the core: the methods decoder_QueueVideo, decoder_QueueAudio, decoder_QueueSub were introduced for that, and the preroll was fixed and simplified accordingly.

Finally, we have now timespec_get() (to fix issues on Win64 snapshot numbering) and timegm() replacements in our compat/ library.

Access

On the bluray side, the menus are now activated by default, we've improved the speed of transitions, and the overlay, and we also fixed numerous issues on titles detection, chapters count, end-of-file behavior and static menus.

We fixed the listing of numerous UPnP shares, including the Plex ones and UPnP module was made interruptible.

We fixed the support for AVC Intra files without SPS/PPS, and we added support for HEVC NAL parsing, at the same time.
This led to a big refactoring of the H264 and HEVC packetizers and parsers. This will allow us to record in HEVC codec.

HTTP/2 stack

Finally, a large piece of code was added to VLC last week: a new HTTP/2 stack.

It's around 5000 LoC and it supports HTTP 2.0 protocol, and supports seeking by reusing the TCP connection and the TLS session.

The code is currently only used for HTTP/2, because it is still missing some features compared to the HTTP 1.1 module (proxies, cookies, auth...)

OS X

On OS X, we've had an important rework of the simple preferences interface.

We've also reworked and fixed the starting of the interface from command-line.

Qt

In the Qt interface, we've fixed the layouts for the Right-To-Left (RTL) languages.

We've also fixed an important 3.0 regression in the input seekbar and a singleton thread-safety blocker for 2.2.2!

Miscellaneous

Android

Android development got quite busy in the last 2 weeks: we've released VLC 1.7.0, 1.7.1 and 1.7.2.

We've fixed the video playlists feature introduced the previous week, we've improved the Android TV audio player, and fixed numerous reported issues.

Then, we've pushed the last fix for Android 6.0 Marshmallow support to VLC's core. It was mostly related to PIC issues (Position Independent Code) in 3rd party libraries. We will now be able to target Sdk 23!

Finally, we've merged the asynchronous decoding, which should improve, once again, the performance of VLC on Android. VLC should be now the fastest player in town.

iOS

Most of the work on iOS was done for the tvOS port, and to fight against Kafkaesque issues in the iOS Store.

We're still waiting.

WinRT

The WinRT port got quite busy too. Large refactoring to the applications were made to clean and simplify the old code and increase the speed of the application.

The look was refreshed too.

Finally, the port to UWP projects was merged. It should allow us to compile the application as a UWP application, without dropping support for 8.1.

That's quite a lot for those weeks, see you next time!

December 14, 2015 10:45 PM

November 30, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 28

28th week of VideoLAN reports

Another week, another weekly report about VideoLAN and VLC development.

I'm still here. :)

Features and changes

VLC

Following last week's work on Freetype font fallback on OS X and iOS, after a few fixes, we removed the QuartzText and the WinGDI text renderers.
The Freetype renderer should always be the best one, now.

We've added a new libVLC event: libvlc_MediaPlayerChapterChanged to detect a change of chapters and we've fixed the libvlc_MediaPlayerTitleChanged event, that was not fired in all cases.

The core handling of objects was changed, to notably have a lock per parent-object and not per instance; this should reduce the lock contention.
Also in the core, the variables callbacks were changed in order to be privatized and some string-related functions were renamed.

Also in the core, an important change was introduced in the flush mechanism for decoders and packetizers, adding a custom pf_flush function.

The HLS support was improved by adding support for inconsistent HLS playlist numbering, fixing live pruning, using targetduration hints for HLS updates and other small fixes.

On the Blu-Ray side, we've fixed interactive titles selection, subtitles that disappeared too quickly, and implemented overlay wiping to fix some HDMV menus selections.

Finally, our last.fm plugin now supports NowPlaying events and we've pushed fixes for the Qt interface, for an XSS in the HTTP interface, the new Youtube URLs, and improved our OS/2 support.

Android

On Android, we've polished the 1.7.0 release, fixing the menu's look, some crashes and some alignments in the video player. This version should go live during this week :)

We've worked quite a bit on the ChromeOS version, more news about this, next week :)

However, the biggest work was done for the next release, by adding support for video playlists, something that was requested for years...
The core of the feature is done, the playback is correctly working, and you can play a group or all the elements from a directory.
What is currently missing is an interface to manage those.

iOS

On iOS, we've integrated the new subtitles renderer based on Freetype, improved our fonts support and fixed some crashes in the core.

We've also improved the notifications, the information panels, the media library and the SMB browsing.

A lot of features were added to the tvOS port, but once again, this is still only for testers. The release is on its way, as soon as we can push it on the store.

libbluray and other libraries

On libbluray, we've fixed the Android compilation (no BD-J support and untested), fixed small numbering parsing issues, and fixed support for Windows pathes that are in non-ASCII folders.

On libudfread, we've made the same changes for Android compilation.

That's all for this week, folks, see you next one!

November 30, 2015 09:09 AM

November 23, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 27

27th week of VideoLAN reports

And we're back to normal, so here is the (now usual) report detailing the work in the VideoLAN community, from last week.

Paris Open Source Summit

The VideoLAN team was at the Paris Open Source Summit, in the association village.

Our stand was featuring the Android TV version decoding 4K playback on a Sony TV, a few tablets running various versions of VLC, the Nexus player with VLC playing DVDs on Android TV.

We also had hellium-balloons, lots of candies and free t-shirts.

Paris Open Source Summit

Features and changes

VLC

This week, we've started by updating the VideoToolbox decoder for iOS to support 4K decoding on iPhone6S and iPhone6S+.

We've improved the Blu-Ray module to correctly save-and-select the subtitles when activated from the Top Menu, and not from the VLC menu. We also got fixes for the next/previous chapters buttons.
Also, a way to call the pop-up menu was merged in the core.

As it's now customary, our Freetype decoder was improved again: on Windows, it can now support Fonts fallback when the font name or filename are not in English. This is great for asian names, but also for German, where all the font names are translated. (The bug was opened 5 years ago).

The iOS and OS X Freetype font fallback was implemented, at the end of the week. We should now have support for ComplexTextLayout and fonts fallback working on all the major platforms, and the Freetype module should be as nice as the QuartzText renderer, on OS X.

We've also improved the seeking for CD-G files (karaoke), and the fix came from a new contributor!

The adaptive streaming module was also modified to improve the bandwidth detection and tweak the adaptivity algorithm (moving average/vertical horizontal filter with an observation window of 250ms) and merge more code between HLS and Dash.

The last part of the core input seeking/decoding deadlock were merged and fixed. See previous weeks for details. :)

We've also added support for embedded cue-sheets in FLAC.

Finally, we updated PNG library for CVE and the iOS Dialog Provider was also largely rewritten to support tvOS.

Android

We've spent most of the week stabilizing the Android 1.7.0 release.

Notably, we've improved the playlist look, refactored and removed most of the dialogs (using Snackbars), changed the file deletion logs, and fixed the playback service and the notification.

We've also been working on the next big features: video playlists and extensions. Those will be merged later. :)

WinRT

We've did a lot of fixes in the streaming panel, so it has all the features of the iOS and Android versions.

iOS

We've pushed the tvOS beta in Testflight, for the people who registered :)

A lot of features have been merged on the project. A blogpost will follow with the complete features.

November 23, 2015 10:46 AM

November 16, 2015

Jean-Baptiste Kempf

This week in VideoLAN - 26

26th week of VideoLAN reports

This week-end, I really did not feel like writing anything about last week, because... you know... fuck it.

tour_eiffel.jpeg

...

...

...

But then, I realized that I shouldn't stop living because some assholes believe the way I live is the wrong one.

So after crying a bit, here is the short (and late) report about last week in the VideoLAN community.

Features and changes

VLC

Once again, a week started with fixes about our adaptive streaming support ( :) ), notably the Smooth Streaming part, to support the Language attribute and per-stream Timescale.
Also, the computation of the bandwidth was reworked to supported split-streams (audio and video separated).

During the week, we've also fixed the streams selection (like the language) when changing quality during the adaptivity of the streaming.

We've also improved our chained OggFlac support (#14972 and