Keyword - Windows 10

Entries feed - Comments feed

17 August 2015

Last weeks in VideoLAN - 14

14th weekly (!) report of VideoLAN

This week is a bit special, since I will report about the last 2 weeks, because of lack of connectivity last week.
So here is a double weekly report of what has happened in the VideoLAN community and VLC development teams!

Features and changes

VLC

The big change of subtitles handling of the previous week involved quite a few fixes for the Closed Caption module, the tx3g codec, the freetype, quartztext and win32 text renderers. There are a few fixes pending that have yet to be merged, but let's hope the biggest work is done.

Linked to this, we've added support to Closed Captions inside VC1 and AVC streams; the decoder was also improved, notably to support time interpolation. We've also added support to SBV subtitles (Youtube).

Once again, we've fixed things and added more support to the adaptive streaming module; the goal is to allow user selection in the interface of the resolution or adaptive algorithm.

The work on the code of the OS X interface went on: panels modernization, cleaning the creation and the destruction of the main interface, moving more code to ARC, etc...

Finally, we've fixed issues with decoding TS with encrypted programs, but also with bitrate control when encoding.

Android

The Android port got a release named 1.5.1 that we pushed as a beta on the Store.
We moved to an Open Beta system for the delivery of those beta.

We've added the support for a new flag on our Intent, named title, so that you can override the title when launching VLC. The intent should now even support playlists.

We've fixed a few bugs on controlling from the remote on the Android TV version.
We've also reworked completely the network browsing code on the TV.

We've also fixed the deletion of the playlists, and issues when resuming an interrupted scan of our library.

Expect 1.5.2 and maybe 1.6.0 in beta soon.

iOS

VLC for iOS got quite a few changes lately.

First, the 2.6.4 version was pushed on the store, to fix a UPnP browsing issue.

Then, the VideoToolbox changes got merged into the iOS port. Hardware decoding should land in 2.7.0.

2.7.0 will also get, on iOS 9, a global search feature, using CoreSpotlight, as described in the iOS 9 preview. It should also now work fine with split-view.

Finally, some work has been started on an watchOS 2 application. More news on that later :)

WinRT

VLC for Windows Store was even more busy, in the 2 last weeks.

We finally got a release, named 1.5.0, adding numerous features, and notably targetting Windows 10.

VLC_winrt_150.png

You should read Thomas' post about it.

In summary, new hardware acceleration, new interface, integration on Windows 10, and many more.

NB: We still support Windows RT and Windows 8.1.

That's all for those weeks! Have fun!

Don't forget to register now for VDD, this September, in Paris.

4 August 2015

This week in VideoLAN - 13

13th week of VideoLAN reports

Yet another week, and yet another weekly report of what's happening in the VideoLAN community and VLC development teams!

Features and changes

VLC

Another week started with MediaCodec fixes, which went on for a few days and terminated with the addition of hardware accelerated Audio decoding on Android.

libVLC received new events for audio corking, muting, volume changing and audio devices: libvlc_MediaPlayerCorked, libvlc_MediaPlayerUncorked, libvlc_MediaPlayerMuted, libvlc_MediaPlayerUnmuted, libvlc_MediaPlayerAudioVolume, libvlc_MediaPlayerAudioDevice.
I backported the first few to libVLC 2.2.2.

The internal of VLC subtitles were completely rewritten, changing the way we're passing the text information from demuxers to decoders to text renderers.
We are now passing some structured text around, with styles information attached to it, instead of pseudo-HTML. This allowed to remove a large piece of duplicated code from text renderers, and put the complexity on the parsing side, not on the rendering side.

The H.264 NAL parsing was largely improved to fix the remaining problems of VideoToolbox for OS X and iOS, notably for frame re-ordering.
The VideoToolbox decoder should now be totally usable.

We added a new speech-to-text subtitle renderer for OS X, that speaks the subtitles instead of showing them on the screen. Of course, this is not for everyone, but it should help in accessibility cases for vision-impaired people.

The OS X interface cleanup work was continued during the whole week, by David, and will probably go on the next weeks.

Finally, we got fixes for AudioTrack (once again), notably for SPDIF support; for numerous memory leaks and some uninitialized variables.

Android

This week was rather calm (but not too calm) on the Android side of things, mainly because of the work on the other projects.

First, we integrated the VLC core changes to improve performance. VLC 1.5.1 should be quite competitive on this matter.

Then, we rewrote completely most of the video player advanced options, using icons in a new single panel.

We also improved the integration of vlc:// protocol and the Intents for 3rd party apps and websites when they try to launch VLC.

Finally, we improved the libVLC JNI API to support SurfaceTexture directly.

iOS

The work for VLC for iOS 2.7.0 was continued greatly this week. And VLC 2.6.3 was pushed on the store.

A large amount of work was done to support RTL languages, as it was announced for iOS 9.
This requires more usage of AutoLayout in our code.

Also, the thumbnail cache was improved, the side menu is getting a lift and a few crashes were fixed.

Some important work was done on MobileVLCKit to make it usable as a shared library framework.

Finally, the integration of VideoToolbox was merged for the iOS project.

WinRT

Like last week, the WinRT port received quite a few changes.

Most of the changes are about the interface, to prepare the integration for Windows 10, to get a more consistent interface, and to listen to user's feedback.

The rest of the changes are on the Direct3D11 hardware decoding.

We'll see how all this gets merged and released soon.

x264

x264 got a new release, and a bit of code merged in the master branch.

It notably adds:

  • NV21 input support,
  • Experimental NASM support,
  • Fixes for some CAVLC overflow, some memory leaks, and file handle leaks,
  • SSSE3 and AVX2 implementations of plane_copy_swap, for NV21 support,
  • Support for MSA MIPS architecture, for SIMD on MIPS,
  • Early Power8 support.

That's all for this week! Have fun!

Don't forget to register now for VDD, this September, in Paris.

29 July 2015

This week in VideoLAN - 12

12th week of VideoLAN reports

The summer goes on, and here I publish another weekly report of what's happening in the VideoLAN community and VLC development teams!

This week was quite cool, and quite busy, with some of the team going to Spain for aKademy!akademy2015.jpg

Features and changes

VLC

The week started by the continuation of the OS X cleaning by Felix, preparing for the next releases of OS X and Xcode, removing the old QTCapture module, switching more code to ARC, splitting the code of the interface in smaller files and improve the code style of the OS X modules.
This important cleaning work went on until Wednesday night.

The Windows code is now calling SetThreadErrorMode() on Windows 7 and is calling a fallback for older versions. This is necessary for proper thread-safety of libVLC.

The helpers vlc_access_NewMRL(), vlc_access_Delete() were introduced in the core, along with inline function helpers like vlc_access_Tell(), vlc_access_Seek(), vlc_access_Eof(), vlc_access_Read() and vlc_access_Block().
All this should make the writing of an access modules easier.

And we got a new concat access module, to concatenate multiple access objects, using those new APIs.

Rémi went on by simplifying the peek() features of the stream filters: we have now a generic stream_Peek() front-end and now pf_peek are now gone from stream filter modules. At the same time, access_GetParentInput() and demux_GetParentInput() got removed from the core.

François added the support for alternative audio/groups in HLS, fixed relative paths in DASH, and finally merged both HLS and DASH modules into one adaptive module; this will make improvements in one format available in the other. He also added support in DASH/HLS for parsing the language, the role and the description of each track.

We deprecated libvlc_media_player_set_agl(), because this is an old Apple technology that noone uses anymore. And we fixed the plugins cache signature issue on OS X.

Finally, Rémi worked on ACCESS_GET_CONTENT_TYPE to remove the access_t.psz_demux variable that was used to force the demuxer from the access module. This was a dangerous design that did not work well with stream filters.

Android

The Android port got a few fixes on the audio output, notably a circular buffer to improve the whole VLC performance, a hack for 4.4.2, and stabilization for Android Lollipop.
In the core, we also added interlacing detection for MediaCodec acceleration.

On the interface side, the important changes were mostly on the Android TV version, notably adding Now Player Tile and fixing reported issues.

iOS

Last week was quite busy on iOS, culminating with a 2.6.3 release.

On the VLCKit SDK, we removed headers that are useless on iOS (MobileVLCKit). We also fixed crashes in the MediaLibraryKit SDK.

Then, more than 20 commits were pushed and 6 tickets closed to fix random crashes of the 2.6.x versions of VLC, including backports from the 2.7 branch.
The 2.6.3 tag was pushed on Friday, ending the week. :) It should be on the store in the next days.

WinRT

After a few calm weeks, the WinRT port got a lot of work this week.

First, we added a SlideShow subproject, to display nice animations in the background.
Then, we fixed the MediaFoundation backend, we fixed some issues with the new SDK and new VisualStudio version and the newer libVLC.

We then updated slightly the desktop design and the icons, in order to simplify the interface and the mini-player, and match the Windows 10 look.

The interface for Windows Phone was also improved for Windows Mobile 10.

Finally, quite a bit of work went into the hardware acceleration for Direct3D11. It's almost fully working for us :)

Tizen

The first code was pushed to the Mike git repository to build libVLC on Tizen.

Community and VDD

As you saw in the introduction, Rémi, Felix and me went to aKademy to speak with our KDE friends. It was in A Coruña.

We also finally announced VDD for this September, in Paris. Register now!

9 June 2015

This week in VideoLAN - 5

Another week in VideoLAN world

Continuing what I did the last few weeks, here is a new post summing up what happened, this past week, in the VideoLAN community and VLC development teams.

For some technical reasons, this post was delayed a bit. I hope it won't happen again. It still covers only what happened from Monday to Sunday, last week.

Features and changes

VLC and libVLC

A good Monday starts with Android MediaCodec bugfixes: this time, they were mostly done in order to fix issues with the Nexus 10 tablet.

The input core was modified by Rémi, to add vlc_write() and vlc_writev() helpers, to finish the work on SIGPIPE (see previous weeks).

Then, a lot of code was removed to avoid call to the infamous vlc_object_alive() call, in the core and some input access modules. The cleaning led to the removal of input_thread_t.b_eof and input_thread_t.b_error and the deprecation of input_thread_t.b_dead.
If you don't understand what this means (that'd be normal :) ), it's a great cleaning of an unsafe function in VLC.

Julian finally got all his rPI and rPI2 patches (27 of them) for MMAL hardware decoders and video filters merged. Decoding on the rPI with VLC 3.0.0 should be faster and more stable now.

We also fixed a build issues on OS/2 and a potential buffer overflow in the RealRTSP plugin.

The end of the week got VLC the DxVA2 + Direct3D9 0-copy video acceleration for Windows. This is what we already support on Android and Linux with VDPAU, to avoid copies between the CPU and the GPU: decoding and video output happen on the GPU. This reduces quite a bit the CPU usage when using hardware acceleration.

And at the same time, we got a D3D11 decoder and 0-copy video acceleration. This will be useful for Windows 8.1 and should be on Windows Phone 8.1 too, to finally get the full acceleration of the Lumia devices!

Android

The refactoring started last week on libVLC was continued, notably on the Media and MediaList classes and items.

We also started the integration of the Design Support Library to help VLC become more Material.
The real question here is why did they not release this library when they released Material Design last year???

Therefore, we've started using the provided SnackBar and FloatingActionButton classes from this library. And we got the best commit log ever:

Replace some Toasts by Snackbars

And finally, we fixed a lot of small issues due to our big refactoring. Hopefully, we're getting closer to a release.

iOS

The iOS development is accelerating quite a bit, lately. We've pushed 2 betas of VLC 2.6.0 last week.

More than 20 bugs have been fixed on this release, especially on the mini-player, the playlist and the video output. Release incoming :)

WinRT

Most of the work on the WinRT port was done in the underlying library, to support hardware decoding. Everything is not yet plugged in, yet, though.

We also did adaptations for Windows 10, for TV shows support and numerous small issues reported on our bugtracker.

The next version will be able to get all this together :)

libdvbpsi 1.3.0

libdvbpsi 1.3.0 was released this week, adding a few descriptors:

  • 0x10 Smoothing Buffer
  • 0x11 STD descriptor
  • 0x12 IBP descriptor
  • 0x1b MPEG-4 video descriptor
  • 0x1c MPEG-4 audio descriptor

And fixing bugs in some tables and descriptors.

Conferences

Last week, I went to web2day and SSTIC to speak about VLC.

The web2day conference was a classic VLC/VideoLAN presentation, focused on mobile applications.

The SSTIC talk was focused on DRM integration in VLC, libdvdcss, libbluray, and legal topics with HADOPI. It's quite more technical than the usual talks I give, and it was in French. But you should really watch the video of the talk.

That's all for this week!

1 June 2015

This week in VideoLAN - 4

A new week in VideoLAN world

Continuing what I did the last three weeks, here is a new post summing up what happened, this past week, in the VideoLAN community and VLC development teams.

VideoLAN

For once, I'll speak about the VideoLAN team before speaking about VLC.

This week-end, we had the Q2 meeting of the VideoLAN non-profit organization. We met in Hamburg, hosted by Google.

We spoke about VLC development, VLC new features, VLC mobile ports, libVLC, libav and the non-profit life, including the next VideoLAN Dev Days.

Here is a photo of the group: WP_20150530_14_35_31_Pro.jpg

Features and changes

VLC

The week started with a classic fight we have with COM threading on Windows, for the Qt interface.

Then, the Direct3D11 video output, that we plan to use for Windows 10, WinRT and Windows Phone, got subpictures blending support. This should get sharper subtitles for WinRT and Windows Phone, and less CPU used. Some related work on DxVA acceleration was done too.

The buildsystem was then broken (and fixed) by yours truly, to use C++11 atomics; this is the ongoing change to have a more modern toolchain for VLC.

A really cool new feature was added to the OS X interface: the keyboard backlight will dim during playback! This might not work totally if you are on automatic mode. So far, we can't do that on other platforms.

Finally, a long-standing issue, where you could not get the AVI duration over HTTP or FTP protocols, was fixed. This should notably help, in the UPnP cases over HTTP :)

... and many other small fixes.

Android

This week on Android was a refactoring week. Thomas and I did more than 100 commits on refactoring and cleaning the foundation of our VLC for Android application.

The major changes are, of course, not really visible, but are mostly focused on refactoring the libVLCjni code to match better libvlc, libvlcpp and get rid of the kludges that accumulated on the Android application. Some of those commits are quite extensive, but they should not break too much the application.

We also fixed a couple of issues and added the access to Media Information in the browsing view for videos.

iOS

A contrario from the previous weeks, iOS development has been extremely busy, with more than 100 commits too. The work was focused on the 2.6.0 release, and fixing a large number of tickets.

The most important fixes went into the library, GDrive, the equalizer, the playback view (including cropping), UPnP and thumbnails.

The mini-player was also extended quite a bit and the ARMv7s slice was re-activated.

The 2.6.0 release is now almost ready.

WinRT

There were less commit in the interface, this week. However, quite a bit of work on the hardware decoding was done, and is pending merges!

More news about that next week.

libraries

We've seen quite a few fixes in libvlcpp, libaacs, VLCKit and the web plugins, but nothing newsworthy :)

See you, next week!

Of course, I have probably forgotten some minor things, but that should be most of it!

Have fun, and see you next week!

25 May 2015

This week in VideoLAN - 3

This week in ...

Continuing what I did the last two weeks, here is a third post summing up what happened, this past week, in the VideoLAN community and VLC development teams.

Features and changes

VLC

The week started with the continuation of the work on the VLC Windows threads implementation, by Rémi.
In a similar way, the work on blocking SIGPIPE in libVLC went on. It went on during the whole week, notably to correctly maintain support for old BSD and OS X.

We then got a complete rewrite of the Jamendo service discovery, made by a developer of the Jamendo team.

Support was added for 2 uncommon video file types, created by some QNAP recording devices.

The Android MediaCodec module was reworked, cleaned and split in order to create a new video decoder module using the NDK MediaCodec API, instead of the SDK API. This should be cleaner, and faster than the old one, because written directly in C. However, it will only work on Android 5.0 and later.

A set of patches was merged on Wednesday to rework the browsing of network directories, like SMB, FTP or UPnP. Those patches will allow better filtering, better browsing recursivity, and add this browsing capability to the Samba module of VLC.

The SMB browsing module based on libDSM was reworked too and was fixed to support Guest login detection.

The sharpen video filter should be now faster, by improving the possible auto-vectorization.

Finally the week ended with some rework on the internal variable system of VLC, removing some types, some cases, some locking and simplifying the code.

Android

This week, we released version 1.4.1 of VLC on Android to the store. This is an interesting release, containing a large amount of fixes, stabilizing version 1.4.0, that was never pushed to the store. It should now feature the new browsing view, the MediaCodec NDK module, and lots of small changes of the interface.

We added return information from the VideoPlayer activity, so that applications calling VLC with an Intent could get some result information at the end of playback, on the playback status.

The support for some content:// URI has always been broken in VLC. This was fixed :)

The Deletion dialogs were reworked and fixed, and some small bugs were fixed and translations were updated before the release.

After the release, the support for libarchive was added and a lot of code was cleaned.

iOS

After the beta from the previous week, a lot of commits were done to fix the various issues reported.

I hope that there the release is now just around the corner :)

WinRT

This week, we released version 1.4.1 of VLC on WinRT to the store. It was mostly done to fix a subtitle issue we had on some hardware, and the look of Flyouts.

Then, the week was mostly spent to port the code to the Windows 10 SDK, and restructure the project files accordingly, which took a lot many commits.

The support for DiscNumber and AlbumArtist was also added in the code, for the next release.

libvlcpp and libraries

libvlcpp finally got it's first official release, numbered 0.1.0; it should be now usable in your projects, without big issues. Please try it and report :)

libbluray, libdvdread and the other discs libraries got a few commits to fix crashes and stability issues.

The webplugins also had a few bugs fixed on the ActiveX version.

See you, next week!

Of course, I have probably forgotten some minor things, but that should be most of it!

Have fun, and see you next week!

page 2 of 2 -