Keyword - libVLC

Entries feed - Comments feed

9 May 2016

This week in VideoLAN - 43

43rd VideoLAN weekly reports

After my 42nd report last week, and some nice encouragements, here is another weekly report about VideoLAN and VLC development.

I was far from a computer last week, so here are 2 weeks in one.

Features

VLC

Renderers

The previous week, we started to introduce the concept of renderers in VLC.
Those are distant devices displaying audio and/or video, instead of playing it locally. The usual device people know are ChromeCasts, UPnP/DLNA renderers, AirPlay, WiDi or DIAL devices.

A new type of VLC module was introduced: renderer discovery. Like Service Discovery, they can find those renderers devices on the network, using one of the discovery protocols.

The renderer discovery capability was implemented in our mDNS module.

The Chromecast code was heavily reworked at the same time, and after 4/5 redesigns, we're almost happy with the code :)

The interface is still missing, but it should come soon!

Other features

The S/PDIF passthrough was implemented in the WASAPI module for Windows. This is important, as this module will be the default, starting in 3.0, for most Windows users.

The work on DVB scanning is still going on. We had numerous patches this week on this topic.

Our mDNS module now supports IPv6 and our MKV demuxer started to get a heavy lifting.

We also had fixes for the TS demuxer and muxer, the libVLC headers, the VideoToolbox decoder, Hurd compilation and improvements on the Direct3D11 video output!

Android

The Android port got 2 more beta releases for 2.0.0: 1.9.9 and 1.9.10.

We added numerous fixes, notably in the popup video view, the binder, keyboard and pad management, title display and the video view.

And of course, improvements for the subtitles download feature.

Hopefully, we will push the release soon.

WinRT

If you follow Thomas on Twitter, you will know that the WinRT port has been quite busy lately.

Cortana is now integrated in the application, so you can ask VLC to launch an album or the last video viewed.

Drag and Drop should now work almost everywhere, and you can drop just a subtitle on a playing video, if you want.

The Stream and the File dialogs have been relifted; the Settings dialog in the same way.

The mini-player and the command bar controller have been merged, together, if you have a Windows Preview build.

On the backend, some work was done on the thumbnailer, and the music and video libraries have been merged into one single library.

Some video information is now pulled from TheMovieDB.

Finally, some work was done to adapt the interface to Windows 10 Mobile.

Soon a release? :)

iOS/tvOS

On AppleTV, search was implemented for local servers browsing.

And we also got support for repeat on the AppleTV application.

We should get updates on those 2 applications soon, on the App Store.

That's all for those 2 weeks, see you soon!

24 April 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!

19 April 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!

12 April 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!

28 February 2016

This week in VideoLAN - 37

37th week of VideoLAN reports

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

Yes, I'm still here, and code is still happening :)

Features

VLC

The week started by numerous patches cleaning the codebase. This is a trend we've seen a lot in VLC lately, and is a great sign.

Thomas removed a few weird JNI interdependencies between modules, libVLC and libVLCjni for Android. The modules do not depend anymore on code in the libVLCjni library.
Related to that, the way to get access to the JavaVM pointer inside VLC is now simpler, and the applications using libVLC does not need to pass it anymore explicitly.

We then got quite a few patches for the adaptive streaming module, to cleanup the connection process and possibly allow the connections to use VLC's core.

To continue the work of the previous weeks, we got a few changes on the keystore APIs:

  1. a new module was introduced for in-memory storage, so that the keys are valid during the same session,
  2. a new module named plaintext_file was introduced, disabled by default for obvious security reasons, since the storage is in plaintext,
  3. a new module named crypt_file was introduced, and should be usable when the system can store securely files,
  4. the crypto module was implement for Android 6.0 and later, where the data will be stored in the secure-zone, using Android Keystore System,
  5. and, of course, small fixes in the core and related modules for those APIs.

So, in practice, we're almost good, for storing passwords. We're just missing Windows and iOS.

We also got numerous fixes in the Qt module, notably to fix resizing issues and crashes in the customize dialog.
And the Qt module was renamed from qt4 to qt, since it's compatible with both Qt4 and Qt5.

We got a large patchset to fix crashes and security issues in the RealRTSP module (disabled by default). They were backported for 2.2.3.

The Windows green line issue on Direct3D was fixed and backported for 2.2.3, and hopefully, for good. :)

The TS demuxer had improvements for the EIT and the EPG, notably for now_playing information.

Finally, we got various improvements, notably for the duration of some MP4 files, and numerous fixes for leaks and buildsystem improvements.

Android

As we're preparing for Android 2.0.0, we've focused on adding the last missing features and bug fixing:

  • the libraries were split between libvlc and libvlcjni,
  • prepare the storage of users and passwords in the crypto store,
  • improvements for external displays handling,
  • improve the switch to video for some streams,
  • add a new video playlist icon,
  • fix playlist item duplication,
  • fix crashes FilePicker and parsing subdirectories
  • fix video lock control,
  • prepare for Appcompat 23.2,
  • we now pause onaudiofocus loss, instead of stopping the stream,
  • and finally JNI vout refactoring.

WinRT

The WinRT translations system was moved to a new version of the Multilingual Toolkit, which was one of the major remaining issue for the port to UWP.

We improved the UI, notably for album and artists views, the video player, activate mouse gestures and improve libVLCX in UWP mode.

libbluray

On libbluray, we've had improvements on the loading of libmmbd and libbdplus, which are incompatible between each other.

We've also had improvements on Xlet and BDLocator and minor fixes.

On libaacs, we've mostly seen fixes for Windows directories that contain non-ASCII paths.

21 February 2016

This week in VideoLAN - 36

36th VideoLAN report

And back to a normal schedule, this post is a weekly report about what happened in the VLC and VideoLAN communities, this week.

Features

VLC

This week was a calm week on VLC, for once.

We now receive the UPnP server icon, in the service discovery, and it should be also available through libVLC.

On the TS demuxer side, we now do full sections assembling which will allow to do CRC32 checks.

At the same time, we received 2 Japanese TV fixes, one for ISDB-T, one for ARIB-25 decoding.

The adaptative module was renamed to adaptive.

So the week was mostly composed of numerous fixes for leaks, small crashes, const missing, library versions checks, extremely minor bugs and small 2.2.2 regressions.
We also got some Taglib improvements, but also leaks fixes and cleanups.

Android

In the same way, the Android part was calmer.

In the network servers view, you can now edit the favorites, but also the favorites addition and deletion actions are now available through the context menu.

The UPnP servers now have an icon, thanks to the improvements of VLC's core.

We received other fixes, like Android TV playlist sorting, a few crashes, better directories and network servers parsing.

WinRT

A contrario, the WinRT port was quite active.

At the end of the week, the first UWP version was running on x86 (Windows 10 TH2) and ARM (Windows 10 mobile).

As you can see here for Music: MusicPlayer-W10.png

and Video: VideoPlayer-W10.png

A lot of fixes for the interface got in, but also compilation issues, fixes for WP8.1;we also got important changes on the Pivot and the SlideShow and on the responsive sizing and animations.

libbluray

We've had a few fix about Fonts management and loading during BD-J menus.

There was a fix in the HDMV state machine, and a fix for the color loading.

Finally, we now have a new function bd_open_files to replace bd_register_file. This new function came with improvements on the system file access functions.

Hopefully, we'll have a new release soon.

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

- page 2 of 7 -