Keyword - VideoLAN

Entries feed - Comments feed

Sunday, April 24 2016

This week in VideoLAN - 42

42nd week of VideoLAN reports

After a very busy week last week, here is another weekly report about VideoLAN and VLC development.

42

I'm surprised we're already at 42 and I haven't stopped doing it!

Sometimes, I'm not sure it's really useful, since I don't see many comments...

But lately, some people who don't comment on this blog told me, in real life, that I should continue, so here is a new report.

Features

VLC

Once again, we started the week with fixes for the WinRT/UWP build.

We got numerous small fixes for the Qt interface, notably for resizing issues of the main interface and in the preferences.

Marvin improved the Mac OS interface status-bar icon look and behavior.

François continued his work on the DVB scanning, notably splitting in a better way the DVB access from the TS demuxer module, which is a cleaner design.

VLC has also now gained the ability to auto-rotate the JPEG photos using the EXIF data.

Finally, a vlc_close function was introduced to be able to use posix_close instead of close when available.

Android

This week, we published version 1.9.8 of VLC for Android, adding notably subtitles download for local files, and media information on the Android TV version.
In this version, we pushed numerous fixes too, notably for repeat, metadata, resuming files and popup video support.

Then, the bindings for the keyboard and remote was changed too: left/right arrows seek, down arrow shows the controller, up arrow show the advanced options and center play/pause.

We also fixed numerous issues with RTL languages and layouts; and improved the code with more databinding.

iOS

On Tuesday, we pushed VLC 2.7.5 for iOS and VLC 1.0.4 for tvOS. Those release are mostly targeting improvements in SMB shares browsing.

Since then, we've readied VLC 2.7.6/1.0.5, focusing on improving the shares browsing, Dropbox, TouchID and the video filters.

WinRT

On WinRT, the week was quite busy.

We improved the speed and reliability of the libVLC core, notably so that we can use more features of the UWP platform and so we can have a stable 64bit build.

We also improved the interface, based on people's feedback on our screenshots, notably for the settings and the global navigation.

The video player was also re-themed and you can have PiP when browsing the application, if a video is still playing.

That's quite a bit for this week! Thanks a lot and see you next!

Tuesday, April 19 2016

This week in VideoLAN - 41

41st week of VideoLAN reports

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

Features

VLC

We started the week with fixes to build libVLC for WinRT.

Then, after the work from last week, the DVB scanning was improved again, notably to manage timeouts; and the DTV module was fixed accordingly.

The input core was also simplified, removing muteces, reducing the number of functions to create an input, and fixing some preparsing issues (and adding the related tests). One now should just use input_item_AddOptions and the aliases named input_item_New* instead of the input_item_NewWithType or input_item_NewWithTypeExt functions.

libVLC users can now use libvlc_media_get_parsed_status and the new libvlc_MediaParsedStatus event to monitor the item preparsing.

We've had playback fixes for MPEG-SL AAC streams inside TS (#16809), we now support playback of forced subtitles in MP4 (#16803) and support RTP Reception Hint Tracks inside MP4.

We've extended our AVI muxer to support the A-law and μ-law codecs.

Finally, we improved the bluray, SMB, keystore and Qt modules.

Colorimetry

During the week-end, a small team went to Helsinki to work on the colorimetry support for VLC.

As we're moving to UltraHD (4K), the videos are shifting to new, wider, colorspaces. In the past, we just ignored the small differences and took the sane defaults.

It's not possible to do that anymore with the Rec.2020 and the new HDR colorspaces.

Therefore, during the week-end, we laid out the base to support those colorspaces inside the core.

Android

On Android, we started by fixing the navigation with the keyboards and keypads, for the classic android version.

We also added a next and a previous button in the video player, when playing a video playlist.

Then, we added support for subtitles download, from internet subtitle databases.

Finally, we fixed a few bugs, notably on focus and and metadata.

All those changes will be pushed on the store in the version 1.9.8.

iOS

This week, we pushed VLC 2.7.4 for iOS and VLC 1.0.3 for tvOS.

The tvOS release adds notably S/PDIF pass-through and support for finding subtitles over network shares.

The iOS release adds:

  • 3D Touch Quick actions
  • "play all" features for OneDrive and network shares
  • finding subtitles over network shares,
  • stability improvements for SMB shares,
  • numerous fixes notably for video filters, downloads and interface issues.

WinRT

The WinRT code was quite active last week.

A lot of work is not visible, but is done on the libVLC backend, so that the VLC/WinRT code is closer to the Win32 code. We expect that to give us quite a boost in performances.

Another large part of the work on the interface is also not very visible, but is done to improving the medialibrary code, and clean the split between interface and the backend. This should reduce the number of crashes we are seeing.

Finally, last week, we've spent time on the design and look of the application. Here is a screenshot of the current code. AlbumsLight.png

x264

Last week, just before the NAB show, we pushed some new code in the x264 codebase.

The most visible changes are:

  • SSE2 and AVX optimizations for dct, notably for 4:2:2 encoding
  • SSSE3 and AVX2 optimizations for mbtree fixed point conversions
  • improvements pf the b-adapt 1 algorithm, giving better quality without changing the speed,
  • improvements for Windows and Visual Studio compatibility

libbluray

The work on libbluray this week was mostly going on improving the BD-J menus.

This work was visible in the javax.tv namespace, but also in general where many errors were denoted to warnings, and should improve compatibility with more disks.

Finally, there is now a seek event for BD-J.

We'll have a release soon with all these improvements.

That's quite a bit for this week! Thanks a lot and see you next!

Tuesday, April 12 2016

These weeks in VideoLAN - 40

40th report about VideoLAN reports

It's been a few weeks without reports. I'm sorry, I was traveling a bit across the Ocean, and life caught up with me, a bit too much...

And of course, the VideoLAN community has been busy during that time, so a lot happened, and catching up is even harder. So, this report is probably more summarized than usual, please excuse me for that.

Features

VLC

The weeks started by fixing the Windows green lines regressions for 2.2.3 and 3.0.0 that could happen with the Direct3D9 module but also when deinterlacing the content.

The time bar of our Qt module got fixed (some clicks could be on the wrong time, compared to the tooltip), and it got more precise for seeking.

The Jack audio output can now have fixed names for inputs and outputs. This should be easier to reuse, after a VLC restart.

The libVLC has now a libvlc_navigate_popup call to open pop-up menus with BD-J disks.

Quite a bit of fixes and improvements got into the ChromeCast module, notably to clean the code, and to make it closer to the expected behavior.
No, it's not ready yet for primetime, since it's not exposed in the interface.

The Daala module is now independent from the Ogg demuxing library.

Finally, we got a large rework of the DVB scanning code, mostly for Linux, though.

And, as usual, we merged numerous fixes and this week they were mostly on Android Mediacodec, MP4 seeking, TS regressions, MKV ALBUM metadata support, code cleanup and adding more tests to the codebase.

Android

In the last 3 weeks, we published 3 different beta versions: 1.9.5, 1.9.6 and 1.9.7 were published on the Android Store.

Those beta versions are still focusing on stability and feedback from our users.

However, 1.9.7 added support for a popup-video window, so you can float your video above every other application, like this:

Popup Video Window

At the same time, we also added support for Samsung and LG split windows.

WinRT and iOS

The other mobile ports, iOS and WinRT got each a few improvements.

On WinRT, the biggest changes were on the handling of translations, using the new translations framework. The rest were minor fixes for stability.

On iOS, numerous fixes got merged for Cloud drives support and we got 2 releases in the pipe, waiting for reviews:
2.7.4 is the next iOS release, 1.0.3, the next tvOS release.

Those builds should arrive soon in your devices.

libbluray

The libbluray project received a few improvements too.

The number of locks were reduced, the AACS integration was enhanced, and a few fixes on chapters were merged.

However, the biggest changes were in the implementation of some javax.tv. classes, that were missing, notably on the javax.tv.util namespace; but other part of this namespace were improved to support more bluray menus.

That's almost all for those weeks, see you next!

Sunday, March 20 2016

This week in VideoLAN - 39

39th week of VideoLAN reports

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

Yes, even in the winter and the cold, things are happening!

Features

VLC

The week started with more work on the Matroska (MKV) module, after the various refactoring of the previous weeks. We fixed some regressions, improved the parsing speed, but mostly fixed and improved chapters, ordered segments and edition handling.
We also had fixes for Matroska scripts commands and a lot of this work should prepare the module for seeking improvements.

We've had improvements on the Samba modules, notably to support >2GB files on Android and spaces in filenames.
Similar improvements were made for the SFTP module.

We've finally migrated to Lua 5.3, in the contribs and in the core module. We still have some rough edges to fix, though.

In a similar way, we're also preparing the transition to Qt5.6, notably for Windows.

Finally, we've fixed typoes in the x264 and Qt modules and we've introduced a --udp-timeout option for the UDP module.

Android

This week, 1.9.3 and 1.9.4 were published on the Android Store. Those 2 new betas of 2.0.0 are focused on fixing important regressions and issues.

We notably fixed:

  • video resume and playback states in various situations, including background playback,
  • notifications and control from notifications,
  • network credentials and network playback,
  • we can now set songs as ringtone from current playlist,
  • randomization for playlists,
  • we added an option to remember video playback speed,
  • we added an "Append to playlist" feature for audio media,
  • numerous crashes.

2.0.0 will come soon :)

WinRT

The WinRT port was quite active, doing some deep refactoring and changing the interface to give this:

Artists View 02_Artist_album.png

Albums View 04_Albums.png 09_Albums_dark.png

Video list 08_Videos_Dark.png

File browser 05_Files.png 13_Files_dark.png

Settings 06_Settings.png

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

Monday, March 14 2016

These weeks in VideoLAN - 38

38th week of VideoLAN reports

Another double-week report about VideoLAN and VLC development.

Features

VLC

After the major work of the previous weeks on the topic, the week started with quite a few fixes on credentials and dialogs.

We then repaired the Avahi service discovery (that has been broken for years), so that it can discover SMB, FTP, SFTP and NFS shares on Linux.

The Qt playlist now allows to sort by disc number, and the search field is accessible with Ctrl+K shortcut.

The Windows Direct3D11 module was improved to avoid some GPU buffer copies; this will restrict the module to versions of Windows more recent than Windows 7 SP1, since we need D3D11.1. In a similar way, we've improved the Direct3D9 for performance, device management and to get more debug information.

François made, once again, improvements on the TS module, notably about EPG and channels management; and simplified the standards (DVB, ARIB, ATSC) selection. The support for DVB subtitles was improved too.

We've then had some major MKV demuxer code cleaning, code simplification, but also some parsing speed improvements.

An external contributor gave us support for the OggSpots codec.

Petri added support for public key authentication in our SFTP module.

We fixed regressions and a crash on the MediaCodec module for Android.

Finally, we've had fixes for ALAC inside MKV issues, HTTP redirect, SFTP browsing, Qt recents, and for crashes in chroma conversions.

Android

In the last 2 weeks, we've published 3 betas of the future 2.0.0 VLC for Android: 1.9.0, 1.9.1 and 1.9.2.

It brings a lot of features, but notably:

  • network disk browsing (Windows shares, UPnP, NFS, FTP, SFTP...),
  • favorite folders and URLs,
  • video playlists (and control),
  • Full Android 6.0 compatibility (including permissions)
  • rewritten notifications and control,
  • rewritten history (permanent, not like in the 0.9 days, and disable in preferences),
  • cleaner preferences
  • lots of small improvements

It is also a merge of Android TV and Android versions, so that every device can optionally get the Android TV interface.

Please note that we have a new repository for examples on how to use libVLC on Android. It contains both a Java application and a Native application.

WinRT

On the WinRT front, we've been quite active on performance and interface.

The interface should now be mostly usable with a keyboard or a gamepad, to be more Universal.

The interface got a few refinement, notably to simplify the main user interface and use only the SlideShow in the music pages.

Hopefully a new beta quite soon.

libdvdcss

A few fixes on libdvdcss, this week, to fix the cache on Linux systems. A 1.4.1 release will probably follow.

That's all for these 2 weeks! See you next!

Sunday, February 14 2016

These weeks in VideoLAN - 35

35th VideoLAN report

After the celebration of the 15th anniversary of VLC and the release of VLC 2.2.2, here are we back to normal weeks and here is a new report, on time.

Once again, this post is a double-week report about the VLC and VideoLAN communities; and they were very very busy.

Features and changes

VLC

Core, input

The first thing that happened after FOSDEM, was that the HTTP support for gzip and deflate was removed and split into a new module named inflate.

The biggest improvement of the past two weeks was the new API for dialogs that replaced the old one; it should be more consistent, easier to use, and is finally exposed through libVLC!
All calling applications can now manage the dialogs without the old hacks that existed.

We have now libvlc_dialog_get_context, libvlc_dialog_set_context, libvlc_dialog_set_callbacks functions to setup, and the functions libvlc_dialog_dismiss, libvlc_dialog_post_action, libvlc_dialog_post_login to do the interactions.

Network Discovery

A new module to discover mDNS/ZeroConf/Avahi/Bonjour services was merged.
It is based on libmicrodns, works on all platforms and discovers NFS, SFTP, FTP and SMB shares.

Finally, libvlc_media_discoverer_list_get was added to libVLC to have a list of services discoveries supported in this instance.

Codecs, Demuxer and filters

Vikram shared with us a large patch to support zero-copy between GStreamer decoder and the normal video output modules, when we're using GStreamer decoders inside VLC.

Tristan added new VP8 and VP9 encoders based on libvpx.

François split the big TS demuxer in multiple files and improved a lot the support for metadata and EPG. Support for PSIP and ETT tables were added too.

Finally, we've also mapped the Vidvox Hap codec and Resolume DXV codec to our libavcodec module.

We've merged a new video filter for edge detection, as you can see here: Edge Detection

Mac OS X / iOS

The Mac OS interface, got itself a complete status bar menu, to control VLC without bringing it to the front.

In addition the OS X and iOS port, got their support for a wallet keystore module, with values that can be shared through iCloud.

The old dialogs support for OS X and iOS was removed.

A large number of Mac OS X dialogs were moved to AutoLayout, so that we can support RTL in a simpler and more correct way.

A module named bonjour was added to provide the same features as the libmicrodns module.

Miscellaneous

We also got improvements for Vimeo and Youtube support, large changes in the UPnP module, fixes on Freetype and Ogg seeking, and vmem.

We've merged quite a few patches to improve our Windows Phone and WinRT compatibility.

Android

Networking

On Android, we've finally activated SMB, mDNS and UPnP, and we've added support for NFS shares.

Once the keystore module is merged, the Android version of VLC, should support most of the common network shares.

We've added the notion of favorite network shares too.

Extensions

The extensions can now have a refresh callback and can set their icons through a custom URI.

The extensions can also easily warn if VLC is not installed.

libVLC interaction

We've added the support for the LUA extensions and the new Dialog APIs mentioned earlier in this post.

We've also improved the support for the different libc we have on different versions of Android.

TV

We've improved the support of TV running Android without being officially Android TV.

We've refactor the network discovery and added the network browsing on the TV interface.

We've done large code cleaning on the TV specific classes, and fixed numerous bugs in the main views and the remote controls.

Phone

Finally, we've added an option to disable the album art on the lockscreen, for privacy reasons!

WinRT

The WinRT port was quite busy preparing the Windows 10 port, also known as UWP.

These weeks, a lot of the design was reworked, notably in the Artist and Album sections, to better fit the new Windows 10 look.

The pivot and the sidebar were also improved for colors and behaviors. Settings and a few other pages were also fixed to support Windows 10 Mobile buttons.

The application is now working as WP8.1, Win8.1 and UWP flavours, depending on how you compile the application.

libbluray & libaacs

libaacs received the new aacs_decrypt_bus() needed for BD+ when the bus is encrypted.

libbluray was fixed to detect if the DRM implementation (AACS or MMBD) is actually working, and fallbacks in the other cases.

And both libraries got a few other minor fixes, mostly crashes related.

That's all for this week! Have fun!

- page 1 of 20