Keyword - libbluray

Entries feed - Comments feed

3 November 2015

This week in VideoLAN - 24

24th week of VideoLAN reports

The last few weeks were extremely busy, so here is the latest weekly report about VLC development, hoping it won't be too disappointing. :)

Features and changes

VLC

Qt

The week started with a workaround of a very problematic Qt5.5 regression. Qt5.5 is breaking 2 important behaviors of VLC: video and hotkeys.
One is a Qt regression that was introduced in Qt5.5 and one was probably an issue in VLC, but could also be an issue in the X server. We worked-around the latter. The former is still blocked by the Qt developers.

Adaptive streaming

The adaptive streaming module got a lot of changes, notably to better support byte-range requests, and to add timeline seeking. This was a preparation for some smooth streaming support.
And indeed, at the end of the week, the Smooth Streaming support was added to the adaptive module, deprecating the old smooth streaming module. We now have only one logic for HLS, Dash and Smooth.

Related to smooth streaming, our mp4 mux got support for VC-1 and WMAPro muxing; while the mp4 demux got support for WMAPro.
The mp4 demux also got support for some Youtube-specific metadata.

Core and modules

In the input core, the preparsing was moved inside a thread, to avoid getting VLC stucked at exit.

The audio output core was modified in regards to its thread-handling, notably when VLC is paused. This allowed to fix an important Alsa module issue, by reducing the locking scope.

We've added support for SoundCloud private tracks, fixed a Youtube issue when using HTTPS, fixed the vimeo quality (low-res was selected before).

Finally, we've added a new resampler module based on soxr. This module should provide better quality for less CPU than the current resamplers we have.

Miscellaneous

We also fixed:

  • the fact that VLC was not 100% fullscreen at the start (#2685),
  • a busy-loop in the input core,
  • some issues for Blu-Ray Java integration,
  • some Blu-Ray audio selection regression,
  • some Android video output issues with the subpictures,
  • some regressions in the video output when seeking,
  • some Qt dialog issues,
  • some lua 5.2 compatibility issues,
  • add we added support of the ttml file extension.

Android

A massive work this week was to about the Android permissions.

In the end, we:

  • removed the READ_PHONE_STATE permission from all builds for ALL Android versions, starting from Android 2.1,
  • removed the READ_LOGS permission from all releases. The logs feature will only work in debug builds and starting from Android 4.1.
  • removed the VIBRATE permissions from the TV builds.
  • removed the WRITE_SETTINGS permissions from the TV builds too.

This will be in the next release we do, probably 1.7.0.

We also prepared the app for Android 6.0:

  • ask WRITE_SETTINGS permission at runtime, when setting the audio ringtone.
  • ask READ and WRITE storage permissions at runtime, to read your media files. Without VLC is a bit useless, to be honest.

This will be activated when we do a release targeting the new SDK (too buggy at the moment).

We also rewrote the sidebar menu, fixed numerous crashes, and fixed some sorting issues in the audio view.

iOS

We first worked to finish the iOS 2.7.0 release, to fix a few remaining issues, and update translations.

The tvOS application development is accelerating fast.

We now have correct SMB, UPnP and Plex browsing, and support for the Cloud providers. The playback over HTTP, FTP and HTTPS works fine too.

We've improved the video player and added more animations, and we worked on the speed of the app.

DVD/Bluray

We've had numerous changes on libbluray, notably to fix some Java menu issues on the following Blu-Rays: Cabin in the Woods, The Grand Budapest Hotel, Birdman...

We've improved the Java security model in BDJThreadGroup.

Finally, we've added the class file manipulation functionality from the asm library. This will allow to fix the playback of Penguins of Madagascar.

We've also had fixes on libdvdcss for Android.

That's pretty good for this week! See you soon!

6 October 2015

This week in VideoLAN - 20

20th week of VideoLAN reports

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

I'm surprised to have been keeping at it for already 5 months. It's a bit boring to do, and also a bit lonely, but I believe it is necessary so that everyone knows what's going on.

Features and changes

libVLC

For once, we'll start with libVLC, and the new libVLC backend for EFL/Emotion. You can now use libVLC easily in an EFL or Elementary application!

VLC

Last week started with Felix fixing an open bug on the Lua extensions of VLC on OS X.

Then, we received a new audio output for the Tizen Operating System.
So far, it works quite fine on Tizen 2.3 but has extra features on 2.4. The audio/video synchronization is not yet complete, though.

The iOS OpenGL video output was improved to support OpenGL off the main-thread and multiple OpenGL contexts in a sharegroup (multi-thread OpenGL for the n00bs like me in OpenGL).

The libVLC port for tvOS was also improved, notably to correctly disable ARMv7 assembly, that cannot run on the Apple TV.

There were also changes to speed up subtitles sorting and fixes on TTML, WPL, adaptive streaming, and the videotoolbox module.

libbluray

There was a 0.9.0 libbluray release on Saturday, that mostly added:

  • new API to access files from the VFS, useful for embedded subtitles,
  • largely improved support of the BD-J menus and features,
  • and better support for usage in C++ projects.

It should be integrated in the next major version of VLC.

WinRT

The week was extremely busy on the WinRT side: we've had more than 140 commits in a week!

The commits were mostly to fix more of the 1.7.0 release issue, but also adding features:

  • a new way to log all the information and a feedback system to send us the logs, so we can fix the bugs,
  • prepare the live tiles for the UWP Project,
  • use the operating system accent color, if you want it!
  • right-click menu support for mouse users,
  • zoom features on the video player,
  • add a vlc:// protocol,
  • string cleaning, translations and a French translation!
  • propagate better the light theme,
  • fix biography and database refreshing issues,
  • kill warnings, and use more C# 6 features,
  • prepare transition for Window 10 universal applications.

Let's hope 1.8.0 can be out next week!

Android

Not much on Android, this week, just a couple of bugfixes.

Tizen

Quite a few things happened on the Tizen port, and we have a basic application running well.
More on this in a later post, I believe :)

iOS

iOS received a few fixes for:

  • GDrive support,
  • Spotlight indexing,
  • RTL support,
  • collection view sizes, and transparency issues,
  • and a few other bugs :)

The tvOS port had a few changes, notably on the bitcode integration. More on this, a bit later, when we have something to show.

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

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!

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!

10 May 2015

This week in VideoLAN - 1

This week in ...

It's can be sometimes quite difficult to follow what's going on inside the VideoLAN community and VLC development, without reading numerous mailing lists. Therefore, I'm going to start to write a post every week doing a short summary of the interesting news.

The issue, of course, lies in the fact that some weeks will be more interesting than others. :)

Those kind of posts might also become a long list of unrelated things... If so, I'm sorry in advance, but I'll do my best to just speak about the most important :)

Features and changes

VLC

Last week-end, we merged the text shaping patch using the Harfbuzz library for our freetype module. This will solve the issues with some Arabic and South-East Asia languages, where the glyph were not merged correctly.

The first version of the TTML decoder was merged and was activated last week.

readdir was implemented in the FTP access, this will allow browsing of the FTP servers, that are announced in a service discovery.

$o is now usable to get the total number of tracks metadata, in the str_format_meta, to modify your VLC Window title.

libvpx was updated to 1.4.0 for the next releases.

The brightness/chroma adjustment filter was ported to support 9bits and 10bits chromas.

The default compression value for the PNG encoder was lowered to create faster snapshots (and backported to 2.2.2).

The height of the audio bar of the audiobargraph modules is now customizable.

Crashes were fixed in the TS, MP4, image and playlists demuxers.

And quite a few improvements were done in the MP4 and DASH modules.

Voice and Gestures control

I've also been coding some voice and gestures control for VLC, using RealSense SDK on Windows.

Try it!

Android

VLC for Android mostly had a bugfixing week.

The directory browser got improved a bit, in order to merge it with the folder preferences.

The AudioService has been moved from URI to MediaWrapper, which will allow to pass media options for playback (and should bring support for more format).

Some Samsung CPU are banned from Hardware decoding (Samsung Galaxy Core, Samsung Galaxy Ace 4), because they are too buggy.

The mini audio player was restored in most audio browsing activities. This was a regression due to the move to AppCompat 21.

A Play action was added to folders, and the Play as audio action was fixed.

And finally, we did a lot of code cleanup after running Coverity analysis.

iOS

Not much was done on VLC for iOS this week, beside bugfixes. The reason is that Felix, Caro and Tobias are all working on a branch, that should be merged soon. We'll speak about it when it's merged in the main line.

What I can say is that the next release of VLC for iOS should be named 2.6.0.

WinRT

A contrario, the WinRT port has been quite busy.

We're preparing a 1.4.0 release for WinRT (Metro) that should fix most of the important regressions we had (subtitles, DLNA) and should also fix the missing metadatas. For that, we've updated the libVLC core, patched taglib library, and reworked the whole media creation in the code.

The winrt access module now is way more clean and accepts both URLs and WinRT Tokens.

We still have one big bug to fix, so let's hope that we can release next week :)

libbluray, libdvd*

After numerous BD-J fixes last week, this week was a stabilization week for libbluray, so nothing exiting here.

libaacs, on the contrary, got quite a bit of cleanup, and notably the split of system-dependent code to different files. Quite a few potential crashes were fixed.

libbdplus got common code merged from libbluray and libaacs.

Web plugins

The rework with libvlcpp is coming to the end.

This week, a few bugs and regressions were fixed, especially on return types. And compilation with MSVC should be fixed.

Association

This week, we've been discussing updates on our development bounties list we have. We're discussing new ones, and increasing the prices of some other. We'll discuss that at our next meeting, at the end of the month.

We've been discussing also the possibility of moving our servers outside of France, because of the new spying laws.

We've also given commit access to Tobias, to the iOS port and libraries. May he fix all our remaining bugs.

And that's all for this week!

27 January 2015

Blu-Ray libraries releases

Blu-Ray libraries

Today, we release a new version of all our Blu-Ray libraries:

  • libbluray 0.7.0
  • libaacs 0.8.0
  • libbdplus 0.1.2

Those releases feature minor features improvements, and numerous bug fixes.

The biggest changes lie on the BD-J support, Java 8 support, fonts management and the raw access to devices and filesystem.

Our BD-J support should now be mostly working for most disks.

The filesystem changes is preparing the development of ISO support in those libraries.

Finally, a lot of code for portability has been merged between those libraries!

Download

You can download those on the right pages:

Have fun!

- page 2 of 3 -