Keyword - OS X

Entries feed - Comments feed

30 November 2015

This week in VideoLAN - 28

28th week of VideoLAN reports

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

I'm still here. :)

Features and changes

VLC

Following last week's work on Freetype font fallback on OS X and iOS, after a few fixes, we removed the QuartzText and the WinGDI text renderers.
The Freetype renderer should always be the best one, now.

We've added a new libVLC event: libvlc_MediaPlayerChapterChanged to detect a change of chapters and we've fixed the libvlc_MediaPlayerTitleChanged event, that was not fired in all cases.

The core handling of objects was changed, to notably have a lock per parent-object and not per instance; this should reduce the lock contention.
Also in the core, the variables callbacks were changed in order to be privatized and some string-related functions were renamed.

Also in the core, an important change was introduced in the flush mechanism for decoders and packetizers, adding a custom pf_flush function.

The HLS support was improved by adding support for inconsistent HLS playlist numbering, fixing live pruning, using targetduration hints for HLS updates and other small fixes.

On the Blu-Ray side, we've fixed interactive titles selection, subtitles that disappeared too quickly, and implemented overlay wiping to fix some HDMV menus selections.

Finally, our last.fm plugin now supports NowPlaying events and we've pushed fixes for the Qt interface, for an XSS in the HTTP interface, the new Youtube URLs, and improved our OS/2 support.

Android

On Android, we've polished the 1.7.0 release, fixing the menu's look, some crashes and some alignments in the video player. This version should go live during this week :)

We've worked quite a bit on the ChromeOS version, more news about this, next week :)

However, the biggest work was done for the next release, by adding support for video playlists, something that was requested for years...
The core of the feature is done, the playback is correctly working, and you can play a group or all the elements from a directory.
What is currently missing is an interface to manage those.

iOS

On iOS, we've integrated the new subtitles renderer based on Freetype, improved our fonts support and fixed some crashes in the core.

We've also improved the notifications, the information panels, the media library and the SMB browsing.

A lot of features were added to the tvOS port, but once again, this is still only for testers. The release is on its way, as soon as we can push it on the store.

libbluray and other libraries

On libbluray, we've fixed the Android compilation (no BD-J support and untested), fixed small numbering parsing issues, and fixed support for Windows pathes that are in non-ASCII folders.

On libudfread, we've made the same changes for Android compilation.

That's all for this week, folks, see you next one!

23 November 2015

This week in VideoLAN - 27

27th week of VideoLAN reports

And we're back to normal, so here is the (now usual) report detailing the work in the VideoLAN community, from last week.

Paris Open Source Summit

The VideoLAN team was at the Paris Open Source Summit, in the association village.

Our stand was featuring the Android TV version decoding 4K playback on a Sony TV, a few tablets running various versions of VLC, the Nexus player with VLC playing DVDs on Android TV.

We also had hellium-balloons, lots of candies and free t-shirts.

Paris Open Source Summit

Features and changes

VLC

This week, we've started by updating the VideoToolbox decoder for iOS to support 4K decoding on iPhone6S and iPhone6S+.

We've improved the Blu-Ray module to correctly save-and-select the subtitles when activated from the Top Menu, and not from the VLC menu. We also got fixes for the next/previous chapters buttons.
Also, a way to call the pop-up menu was merged in the core.

As it's now customary, our Freetype decoder was improved again: on Windows, it can now support Fonts fallback when the font name or filename are not in English. This is great for asian names, but also for German, where all the font names are translated. (The bug was opened 5 years ago).

The iOS and OS X Freetype font fallback was implemented, at the end of the week. We should now have support for ComplexTextLayout and fonts fallback working on all the major platforms, and the Freetype module should be as nice as the QuartzText renderer, on OS X.

We've also improved the seeking for CD-G files (karaoke), and the fix came from a new contributor!

The adaptive streaming module was also modified to improve the bandwidth detection and tweak the adaptivity algorithm (moving average/vertical horizontal filter with an observation window of 250ms) and merge more code between HLS and Dash.

The last part of the core input seeking/decoding deadlock were merged and fixed. See previous weeks for details. :)

We've also added support for embedded cue-sheets in FLAC.

Finally, we updated PNG library for CVE and the iOS Dialog Provider was also largely rewritten to support tvOS.

Android

We've spent most of the week stabilizing the Android 1.7.0 release.

Notably, we've improved the playlist look, refactored and removed most of the dialogs (using Snackbars), changed the file deletion logs, and fixed the playback service and the notification.

We've also been working on the next big features: video playlists and extensions. Those will be merged later. :)

WinRT

We've did a lot of fixes in the streaming panel, so it has all the features of the iOS and Android versions.

iOS

We've pushed the tvOS beta in Testflight, for the people who registered :)

A lot of features have been merged on the project. A blogpost will follow with the complete features.

26 October 2015

This week in VideoLAN - 23

23rd week of VideoLAN reports

Yet another week, another new weekly report about the VideoLAN community and the VLC development community.

Features and changes

VLC

Protocol Redirections

We've added support for inter-module redirections.
In the past, the HTTP or FTP redirections were only done in the same module. That caused limitations, if we wanted for example to redirect to a different protocol, like HTTP-> FTP or HTTP -> HTTP2.
Now, a redirection will spawn a new module, that can support a different protocol.

OS X notifications

In the past, we've supported only Growl for notifications on OS X.

Since quite a few versions, OS X supports native notifications. So we've added support for those notifications. Growl is still possible as a fallback.
Those notifications are only visible if VLC is in the background, of course.

Evas video output

As you've probably seen, on this blog, lately, we've done a EFL/EMotion backend.

This was the first step, but it was done with a memcpy at every frame, which is BAD and SLOW.

Therefore, we've added a new video output to VLC, based on Evas, the canvas library of EFL. It supports directly YUV, RGB, and TBM (Tizen Buffer Manager).

We also added a new libVLC call, so you can get VLC to draw directly in an Evas Object: libvlc_media_player_set_evas_object.

We will use that for our Tizen port of VLC.

Subtitles font fallback

VLC font rendering engine was never good for non-western languages.

A few month ago, we've added support for harfbuzz to shape CTL correctly.

This week, Salah-Eddin added support for font fallback to our Freetype module, for Linux, Android and Windows.

On the following example, we have Korean, Japanese and Chinese characters:

With-fallback.png

This is how it used to render for 2.2.x: Without-fallback.png

Cool, no?

Core input

The week actually started with a rework of the demux controls in the core. This makes stream, the access and the access_demux modules more similar and simplifies the code.
Moreover, sometimes the demuxers can seek even if the access cannot (or the other way around); those cases should behave correctly now.

The old caching module was fixed when seeking near the end of the file. This was the cause of the WMA regression on the latest Android versions (1.6.x up to 1.6.4).

Miscellaneous

The ALSA device selection was fixed so that the "default" choice is always available. And the ALSA device selection menu was fixed too.

As usual, we've added misc changes in the mp4 demuxer, the OS X interface, the playlist demuxer.
Also the nightly builds on Windows were updated to more recent 3rd party libraries, notably codecs.

Android

After last week, we kept on doing small bugfix releases for VLC/Android: we've published 1.6.5, 1.6.6 and 1.6.6.1 during the last week.

The bugfixes are focused on seeking, small crashes and Android TV remote events.

We've added optional buttons to seek in the video player, like in the Beta application, like this: Nexus5_SeekButtons.jpg

We've rewritten the preferences view by using the new Android Preferences view supplied by appcompat 23.1. It should fix a few bugs we had, notably the title color of the preferences. It should also give us a slightly better Android TV preferences dialog.

For the next release, we've rewritten the MediaSession control using the new MediaSessionCompat. This means a new notification, new lock screen integration, better integration with external devices, and probably a good step on the road to Android Auto.

Finally, we've removed a permission for Android TV: AUDIO_RECORD.

iOS

This week, we released VLC for iOS 2.6.6, fixing numerous crashes and adding support for SSA styled subtitles.

Besides that, there was nothing very visible on iOS this week, because most of the work was done to support Apple TV, in the same codebase.

This mostly involves splitting some logic from the views and rewriting most of the views.
It also requires modifications of some of the external libraries, notably to support the cloud services.

And of course the usual fixes for UPnP browsing.

We've also had a few small commits in DVBlast, VLC/Tizen and VLC/WinRT.

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

19 October 2015

This week in VideoLAN - 22

22nd week of VideoLAN reports

A new week, a new weekly report about the VideoLAN community and where the VLC development is going.

Compared to the very busy previous week, this one might look a bit calm. :D

Features and changes

VLC

The week started with fixes in quite a few modules: the new SAPI module, HLS, videotoolbox, TTML, MMAL raspberryPi decoder, OS X interface and several encoders.

As prepared during the previous week, the new SSA renderer for OS X and iOS was plugged.

There were numerous changes to our MP4 demuxer, notably to better support fragments. This was required to support seeking in DASH streams dumped to files.

The Tizen audio output was modified to detect, at runtime (instead of compile time), the API level supported by the platform.

The Disc Total metadata was added to VLC core, VLC Qt interface, and libVLC.
Parsing Disc number/Disc Total metadata in MP4 and MP3 files was also added.

The Soundcloud parser was completely rewritten.

We've added support for the SAT>IP protocol and discovery in our UPnP stack.

Finally, a new module for OS X notifications was added, to support the native notifications, instead of Growl.

Android

This week was a bug-fixing week in Android: we've published 1.6.2, 1.6.3 and 1.6.4 during the week.

All of those releases were focused on fixing small issues like:

  • crashes on broken phones from Wiko and QMobile,
  • fixing wake-lock or screen-dimming on older phones,
  • small crashes in the interface,
  • updating to the last version of appcompat library.

iOS

On iOS, we've released the VLC/iOS version 2.6.6 in beta. It should fix the biggest crashes, and adds support for SSA-styled subtitles.

On the development branch, we've worked on AutoLayouts, RTL, the sidebar menu.
We've also added support for Touch ID, to unlock the application and synchronization of recently played streams via iCloud.

On tvOS, a bit more work was done to split the interface from the logic. As I already said, the goal is to have one-logic and 2 different interfaces, a bit like we do on Android and Android TV.

We now support UPnP, SAP and SMB in the tvOS application.

WinRT

On WinRT, we've actually pushed 1.8.2, 1.8.3, 1.8.4 on the store for both Windows Phone and Windows RT.

The main features are:

  • you can force the landscape orientation in the settings,
  • you can access now a Stretch Zoom,
  • resizing of numerous widgets depending on the scale and DPI,
  • fixing of some green screen issues,
  • improvements of the crash reports,
  • fixing some crashes :)

We've also had commits in DVBlast, libdvdread, libbluray and VLC/Tizen.

That's all for this week! And thanks for all the fish!

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!

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!

- page 2 of 5 -