Keyword - iOS

Entries feed - Comments feed

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.

14 February 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!

1 February 2016

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,

  • 700 contributors,
  • 70000 commits,
  • at least 2 billion downloads,
  • hundreds of millions users!

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

19 January 2016

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!

10 January 2016

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:

  • reworked all the existing snackbars for deletion (or related actions),
  • reworked the advanced options dialog,
  • added a context menu to delete and play as audio for all files in the file browser (even the ones we don't know the type),
  • adding file deletion in more context menus,
  • added an option to disable the playback history,
  • reduced the number of refreshs in the video, audio and playlist views,
  • improved auto-scroll in the playlist,
  • moved the targetSDK to MarshMallow,
  • added an option to disable gestures,
  • allowed to cancel a swipe on an item in the playlist,
  • added Media Information panel for audio,
  • improved video list and media information fragments post file deletions,
  • moved the 'save playlist' feature to advanced options,
  • change the icon for the Google Drive extension,
  • added other look and small fixes improvements.

:)

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!

- page 3 of 9 -