Keyword - Windows 10

Entries feed - Comments feed

19 July 2018

VLC for iOS and UWP 3.1.0 release

VLC 3.1.0 release

After a few months since the release of VLC 3.0, today we release VLC 3.1.0 on 2 mobile OSes: iOS and Windows Store (UWP).

This release brings ChromeCast integration to iOS and UWP, like it was present on desktop and Android versions.

ChromeCast and hardware encoding

However, it supports ChromeCast in a more performant way, because we added hardware encoders to those 2 platforms.
Indeed, here, for local streaming, we care more about speed and battery saving than we care about bandwidth efficiency, si hardware encoding is a good fit.

On iOS, we're using the standard VideoToolbox hardware encoding to produce H.264 streams, muxed in MKV.

On UWP, we're using Quick Sync Video for intel CPUs (that covers almost all CPUs since 3rd core generation).

In fact, VLC has a QSV encoder since 2013, but it's very rarely used, because people usually prefer software encode (x264). Here, we fixed it and modified it to work inside the UWP sandbox.

iOS

You should really read Caro's blogpost here!

But in that version you have:

  • ChromeCast,
  • 360 video support, with sensors,
  • Numerous bugfixes on the playback core (inherited mostly from VLC 3.0.1-3.0.3)
  • Some decoding speed improvements,
  • Quite a few interface bugs (see 3.1.0 milestone)

UWP

The version is similar to the iOS version, in the fact that it has hardware encoding and ChromeCast integration.

As explained, the hardware encoding is done using QSV.

But it features also a large rework of the codebase and fixes a very large number of crashes.

Also, funnily enough, we've worked on the 8.1 version too, and we will push that one soon on the store. This includes SurfaceRT devices, even if Microsoft has forgotten them!

So VLC 3.1.0, UWP version will be out for:

  • Windows 10 Desktop (x86)
  • XBox One
  • Windows 10 Mobile (ARM)
  • Windows 8.1 Desktop (x86)
  • Windows 8.1 RT (ARM)

Once we fixed an issue, we might even do Windows Phone 8.1.

The Windows 10 versions are on the store today, and we're waiting for a deployment issue to be fixed to push the 8.1 versions!

(Note: if you are from Windows Central, you can contact me for more details)

Have fun!

3 August 2016

Last week in VideoLAN - 51

51st VideoLAN report

So, after a few crazy weeks, I'm coming back to a more regular schedule for my weekly reports about VLC and VideoLAN.

Features

VLC

Decoder fallback

The major change, during last week, was the possibility to restart the audio decoders when the audio device changes.
This is very useful when you switch from normal decoders to SPDIF/HDMI pass-through for DTS, Dolby and related codecs.

In the past, VLC could only restart the filters, not the decoders, so our Dolby and DTS decoders were actually filters. This was finally changed and now decoders are decoders.

For those who don't understand what all this means, it means that it will help us support more formats for pass-through over HDMI, like DolbyDigital+ or DTS-HD.

Modules

We've fixed the green line that appears only on AMD GPUs on Windows. This is scheduled for the next Windows update.

I've implemented the support for browsing FTP remote directories, so that it behaves similarly to SFTP or SMB.

On Windows, we've added the support for hardware decoding of 10bits HEVC , using DxVA and D3D11.

We also pushed improvements to the prefetcher module and to our TTML support; and we've fixed issues for DVD menus, SAT>IP protocol and HLS protocol.

Finally, please note that the license of the UPnP module was switched from GPL to LGPL.

Android

On Android, we've fixed a few issues related to old devices, and we've improved the libVLC Java bindings to support statistics.

WinRT

Last week on WinRT, we've removed all the code that was focusing on older versions of Windows.

The codebase now support only Windows 10 Universal with its Anniversary Edition version.

That's all for this week!

Thanks for the support and see you soon!

29 June 2016

Announcing VLC for UWP 2.0 beta

VLC for Windows 10 beta

If you follow this blog, after a long development period (and a lot of issues), VideoLAN is finally releasing the beta of VLC for Windows 10, numbered 2.0.0.

This beta is the first version targeting Windows 10 and running on the Universal Windows Platform, aka UWP.

Features

The Windows 10 application has all the features available on iOS and Android and a few more.

Like the classic VLC, it supports a very large number of formats, but it also has a medialibrary triaging audio and video media, a full player with subtitles, audio/video synchronisation, an audio mini-player and a network shares browser! We also support Cortana, Live Tiles, Pining and Continuum!

The only important missing feature is DVD/Bluray playback and TV tuners that are not yet possible through the UWP APIs.

And of course, it's completely open source, available under the GPLv2.0 license!

You should try it now!

Video Library

We have a medialibrary, with video management:

VideoList.small.png

and a video player with subtitles, subtitles download, chapters, audio/video sync:

VideoPlayback.small.png

We even support a PiP mode to browse your library while playing a video:

PiPView.small.png

Audio Library

We have, of course, audio management, sorted by albums,

AlbumList.small.png

artists,

ArtistsView.small.png

and you can get detailed information about artists.

Artist Biography

Dark Mode

If you live in a cave, you might prefer our Dark Theme:

Black.png

The accent color is, of course, modifiable and it will change the VLC cone color too!

Network

We support DLNA/UPnP, Windows Shares, FTP(S), SFTP, NFS protocols to discover and browse your local servers or NAS.

NetworkBrowsing.small.png

Windows 10

We support some Windows 10 specific features, like Cortana (supported in English and French), Live Tiles, Artists and Album pining to the start menu, Drag & Drop, and Continuum, if you have a Lumia 950 or Lumia 950XL

Under the hood, we use some technologies exclusive to Windows 10, like some DirectX 11.1 features for video and low-latency audio. This should give you enhanced battery life and allow smooth 4K playback.

Platforms supported

This release works now on:

  • Windows 10 desktop and tablets,
  • Windows 10 mobile,

but also, when a few remaining issues are fixed:

  • Xbox one,
  • Surface Hub,
  • Hololens.

And, in a few weeks, we will update the application to also support:

  • Windows 8.1,
  • Windows RT 8.1,
  • Windows Phone 8.1.

Important remarks

NotaBene 0: This application is NOT replacing the desktop application.

NotaBene 1: This application is a new entry on the store compared to the 2 WinRT applications, because Microsoft could not offer a simple upgrade path.

NotaBene 2: Please report bugs!

NotaBene 3: the Xbox one version should be out this summer, when the store is open to 3rd party UWP applications; the Windows 8.1/Windows Phone 8.1 version should come during the next month, if all goes as expected.

Here is a photo of the application running on the Xbox 1:

XBox.jpg

And a gif on the Hololens:

Windows10Holo.gif

You should try it now!

23 May 2016

These weeks in VideoLAN - 44

44th VideoLAN weekly report

Once again, unfortunately, the report skipped a week :(

But this report, the 44th report, is quite important for 2 reasons:

  • it's been over one year I've started those reports, since the first one was published on May 10th, last year;
  • and this post is the 300th blogpost on this very blog!

This also mean I skipped 8 weekly reports, and did dual-reports for those weeks, which is not too bad, compared to what I hoped to achieve...

So, without waiting any further, here is the report about what happened in the last 2 weeks in the VideoLAN and VLC development community! It was a couple of busy weeks!

Features and changes

VLC

The week started by some work on the supported MIME-types for the .desktop file for VLC on Linux, by a Debian developer, which cleaned and merged all our different mimetypes support correctly.

Then, a very large patchset for seeking in the MKV (matroska) files was merged. It rewrites most of the seeking support and builds an index when playing the file. This new code fixes quite a few bugs we had on the matroska support.

We added support for subtitles over the network, with a set of functions named libvlc_media_slaves_add, libvlc_media_slaves_get (and related).
At the same time, we now auto-detect subtitles in networking shares; this is currently tested on SMB and UPnP.

We've had improvements on the Qt main window resizing, and on the playlist model.

The work on DVB scan was continued, notably to support device limits.

Another batch for ChromeCast was merged, mostly focusing on seeking and stopping the stream. We're still missing a few bits, though :)

And finally, we improved again our adaptive streaming support, our Blurays menus support, added support for vorbis and flac inside MP4, improved WMV metadata and prepared support for streaming output on Android.

VLC core for WinRT

The VLC engine has seen many changes for WinRT, in the last few weeks, mostly to merge the existing patches we had pending.

The 3rd party libraries (contribs) were updated and patched to correctly compile for the WinRT/UWP version.
At the same time, we merged numerous patches for the core, the modules and the buildsystem.

We improved quite a bit the Direct3D11 output, both for desktop and the WinRT version. We notably fixed the green line issue and added support for more hardware decoders on Windows Phone/RT.
We also accelerated the chroma conversions when using hardware decoding.

Finally, the WinRT audio module now supports volume changes. This was forbidden in Windows 8 apps, but is allowed in Windows 10.

Android

As we're approaching the 2.0.0 release, the Android port was quite calm.

We pushed 2 beta releases on the store: 1.9.10 and 1.9.11 to fix minor issues, mostly to fix subtitles regression and improve the thumbnails look.

We then added support for the network subtitles and subtitles downloading for network media.

This will be in the next release, that should come soon.

iOS

We released VLC 2.7.7 for iOS and 1.0.6 for AppleTV, to fix minor issues, update the software decoders, and activate AC3 and E-AC3 decoding on 64bit device and the Apple TV.

Since then, there were fixes for onedrive support, for subtitles over FTP and for SPDIF pass-through support.

WinRT / UWP

The WinRT port was extremely busy, these past two weeks.

Indeed, we are preparing a beta version named 1.9.0, that would prepare for the first true UWP version, that will be named 2.0.0.

We've added most of the features that you usually see on the Android and iOS versions of VLC, notably UPnP and network shares browsing, support for HTTPS and adaptive streaming, better hardware decoding, dialogs support, as many codecs as the desktop version, and so on.
Moreover, the engine use the runtime 12.0_app instead of the 11.0 one we used on the WinRT version.

On the UI side, we now support correctly Windows 10 integration, with Cortana, drag and drop, tablet mode and a lot of fixes so that the application looks responsive enough on all the devices, from mobile to the Xbox 1. We polished this UI and fixed a few important regressions, notably on the playback and the thumbnailer.

The application is currently in private beta mode, so that the biggest issues are fixed before opening it up. :)

libbluray

We released a new version of libbluray, numbered 0.9.3

This release:

  • adds a bd_open_files() function, deprecating old global file system hooks;
  • adds flags for on-disc menu support to DISC_INFO,
  • improves Java building and Linux integration
  • enable UDF/ISO support by default,
  • improves BDJ_EVENT_CHAPTER, main title detection,
  • improve BD-J compability, and fixes numerous bugs on BD-J,
  • improves libaacs and libmmbd detection.
  • fixes a large number of bugs too long to describe here :)

That's all for those weeks! See you soon!

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!

12 October 2015

This week in VideoLAN - 21

21st week of VideoLAN reports

For the 21st time, here is the weekly report of what has happened in the VideoLAN community and VLC development, during the past week.

Features and changes

VLC

Last week started again with Felix committing, this time to port the CAOpenGLLayer to OS X.

The iOS AudioUnit output gain support for a correct mute implementation, and was moved to a modern Objective-C syntax.

The core gained stream_CustomNew(), to create custom streams; it also gained demux_New() and those 2 functions will be used for adaptive streaming, that need slave streams and demux.

The bluray module gained support for Blu-Ray ISO, through the new UDF implementation.

The HLS module now supports HLS discontinuities, which has been a pain to support for us, so far.
We've also added support for WebVTT and TTML in DASH.

The libass version was updated to 0.13.0 and this should remove the infamous "rebuilding font cache" on OS X and Windows Vista (and later). Anime fans will be happy :)

A Text-to-Speech subtitle renderer was added for Windows, like we did for OS X. It's useful for people with visual deficiencies, that can't read those subtitles very well. It's based on the SAPI 5.1 API.

Finally, we also got fixes for HLS, DASH, cache prefetching, Blu-Rays, OS/2, Closed Captioning sizes, Chromecast, TTML probing and the About view of the OS X interface.

DVBlast

DVBlast, the VideoLAN DVB server, had a 3.0 release.

This release is an important version, that was partially rewritten to use the libev library for the event loop.

It's also the first release supporting OS X.

The new features include PID and SID remapping and support for Deltacast ASI cards.

Download it now!

multicat

At the same time, multicat got a 2.1 release.

This release:

  • adds support for FreeBSD and OS X
  • supports changing source address with raw sockets
  • adds packets reordering based on sequence numbers instead of timestamps
  • adds capping, syslog logging, binding to specific interfaces,
  • and quite a few other things (see NEWS file in the tarball).

Tarballs are available now on the project page.

Android

The Android port was busy to prepare a 1.6.0 and a 1.6.1 releases.

The most visible change of last week was a big interface speed up, in the video and audio lists and the thumbnailer, done by limiting the number of threads and removing some unneeded thread barriers.
We've also added an application-wide threadpool to help managing those threads.

libVLCjni was fixed to support and run correctly on Android 6.0. There is still work left to do for the new permissions model, but that will follow quite soon.

We've had numerous fixes for small regressions mentioned during the 1.4.x and 1.5.x development cycles, notably in MKV/FLV support, screen dimming, various crashes, and incomplete metadata.

The releases 1.6.0 and 1.6.1 were pushed in Beta and in Stage-Rollout on the market.

iOS

MobileVLCKit, the libVLC binding for iOS got support again for the VLCAudio class, including mute support.

There has been improvements on the snapshots events and methods.

The port to tvOS has also been worked on, notably by separating more cleanly the interface from the logic in the iOS apps, so we can have a different interface for tvOS.

WinRT

The WinRT port got changes in the theme, and some colors should now be in your roaming settings.

One of the major crash in the Thumbnailer (start of the application) was fixed: it was due to a race condition when seeking to get the snapshot.

The Windows Indexer API is now used on the Windows 10 Mobile version, to get better search results.
We have more strings translated, and an update of the French translation.
Finally, the gestures are now correctly disabled in locked mode.

The releases 1.8.0 and 1.8.1 were pushed on the store, with all the fixes and features of this week and the previous week.

x264

This week, quite a few changes happened to x264.

The largest changes were ARMv7 and ARMv8 optimizations, done by Martin and Janne, which total around 30 commits on the 40 commits pushed this week on x264.

Anton changed the predictors update and the the row VBV algorithms.

Finally, x264 also has received fixes for PowerPC on FreeBSD, and for the high bit depth lookahead cost compensation algorithm.

That's quite a lot for this week! See you next!

- page 1 of 2