VideoLAN Dev Days

For the 4th year in a row, virtually all people involved in open source multimedia applications gathered in Paris to discuss the latest developments, schedule future features and share a few beers.

Photo credit: Diego Elio Pettenò

For the Mac, we were finally able to solve the infamous #4834 ticket, so VLC no longer fails to output audio if you unplug or replug an external audio device during playback. Of course, there is way more cool stuff to come.

VLC 2.0.3

We released VLC 2.0.3 this morning. This update mostly targets the Mac OS X platform: it adds support for OS X Mountain Lion.

Additionally, we added a few Mac-specific bug fixes (hotkey handling, fullscreen toggling when using a remote app on a phone), fixed issues with some Flash Video (flv), APE files and a small number of radio streams broadcasted through the HTTP protocol.

On Windows 8, VLC’s interface will be drawn correctly now.

Finally, VLC 2.0.3 includes updates for 18 translations and adds support for Uzbek and Marathi. Bugs preventing the activation of the Gaelic and Thai translations in the previous version were resolved.

Enjoy!

Convert and Save

Back in 2005, VLC 0.8.4 included one of my first noticeable contributions to the Mac OS X port: the Streaming and Transcoding Wizard. Since then, VLC moved on quite a bit, but the window and its functionality is still present (with some small additions).

While it was cool and handy at that time, things beyond the VLC universe moved on, too, so we decided it was time for a re-write to enable more users to make use of the nifty included features by making it more easy to access and to configure.
Quite a while ago, transcoding presets were added to the Linux and Windows ports. This new panel is an attempt to bring these presets to the Mac along with the flexibility already known from the wizard. Here’s a first look at the current draft, which will evolve during the next months in time for VLC’s next major release version 2.1 Rincewind. Most importantly, the streaming features will also become part of this panel as well as minor missing features like the ability to extract parts of a media sample.

VideoLAN at FISL

Jean-Baptiste Kempf and me were invited as guest speakers to this year’s Fórum Internacional Software Livre in Porto Alegre, Brazil, from July 25 until the 28th.

This is the first time for VideoLAN developers to present at a conference in South America. We will give a talk on VideoLAN and VLC focussing on advanced end-user features and more technical details with in-depth coverage of libvlc’s usage in desktop and mobile products.

Of course, we will be there during the entire event for chats and discussions (and beers?).

This is going to be exciting and we hope to see you there.

VLC 2.0.2 out now

About a month after passing the 1,000,000,000th download, we released VLC 2.0.2 last nights. It’s now available on videolan.org.

It includes the following security content:

  • Fixed Ogg Heap buffer overflow
  • Updated taglib (CVE-2012-2396)

VLC 2.0.2 adds further refinements to the new Mac interface. We improved the video playback experience by enhancing the crop features and restoring the highly desired “go automatically to fullscreen” feature. Additionally, the aspect ratio is respected like in the 1.1.x releases. The Retina Display (HiDPI) on the new MacBook Pro is natively supported, too.

Furthermore, you can drag & drop items between the playlist, services and media library. Growl 1.3 is supported for notifications as well (disabled by default). Playing a video in a window without any further UI elements is supported again, too.

Finally, we removed the font cache. VLC for Mac will never ask you to wait for it, but it will still find all your fonts!

This update also includes video output improvements for a vast number of PowerPC-based Macs equipped with an ATI Radeon 7500, an ATI Radeon 9200 or a NVIDIA GeForceFX 5200 Ultra [1] as well as Intel-based Macs with an Intel GMA 950 [2].

Here’s the full list of changes:

  • Enabled drag and drop of playlist items between the temporary playlist and the persistent media library
  • Various video output improvements, notably for crop, zoom, osd and menu support
  • Enabled import of playlist items taken from the service discovery modules to the media library or the temporary playlist
  • Added media key support for keyboards by other manufacturers than Apple. This fix was facilitated through a hardware donation by ZF Friedrichshafen AG manufacturing keyboards under the brand “Cherry”.
  • Added HiDPI / Retina Display save UI artwork
  • Restored the preferences’ fullscreen options, which allows the user to start videos directly in fullscreen mode
  • Keep Aspect Ratio when resizing is back
  • Added controls to manipulate the Subtitles Duration to the Track Synchronization panel
  • Hidden items in the sidebar are being retained for the next launch now
  • Fixed crash when trying to open an Audio CD by drag & drop
  • Improve reliability when opening DVDs or BDs by drag & drop
  • Fixed a crash when attaching harddrives with multiple partitions while VLC is running
  • Improved OSD rendering in fullscreen mode
  • Improved fullscreen behavior when using a smartphone remote based upon VLC’s http interface
  • The selected audio device is retained throughout multiple VLC sessions now
  • Since running the Mac OS X interface as an Extra Interface or Control Interface can lead to undefined results, the respective options will be automatically reset on the first launch, if needed.
    • This fixes issues with unresponsive playback controls and crashes on quit.
  • Updated Growl plugin supporting Growl 1.3.
  • Improved reliablity in detecting VIDEO_TS folders when opened through the “Open Disc” panel.
  • Re-implemented the “Window Decorations” option, which, if disabled, hides all the UI elements from the video output window to give you the cleanest experience possible.
  • Improved the window title behavior when using the dark interface mode. It correctly responds to right and double-click events now.
  • Miscellaneous minor interface improvements

VLC 2.0.2 includes these cross-platform improvements:

Video Output

  • PCs running Windows XP will use the DirectX mode by default now, like in VLC’s 1.1.x release due to a fast number of broken drivers
  • More accurate colorspace conversions for YUV->RGB in OpenGL
  • Misc fixes in the OpenGL module, on all platforms
  • Fixed video output on PowerPC-based Macs equipped with an ATI Radeon 7500, an ATI Radeon 9200 or a NVIDIA GeForceFX 5200 Ultra.[1]
  • Fixed video output of 10bit encoded contents on Intel-based Macs equipped with an Intel GMA 950 chipset running OS X 10.6 or later.[2]

Access

  • Reworked Digital TV module for Windows. DVB-T and DVB-C work again
  • Fixes for RAR compressed files
  • Fixed DirectShow crashes on exit
  • Improved PulseAudio input latency
  • Fixes for HTTP access through a proxy
  • v4l2 webcam outputting H264 can now be used directly (use –v4l2-chroma=h264)
  • Fixed Subtitle auto-detection in subfolders
  • IE http proxy is no longer used by VLC on Windows
  • Accepts more extensions for DVD images
  • Fixed crash in VC1 packetizer

Codecs

  • Fixed crashes in AAC decoder on channels changes, notably in ISDB streams
  • Fixed compilation with multiple FFmpeg and libav versions
  • Fixed G726 support

Demuxers

  • Fixes for MKV segments and MKV title display
  • Fixed some mp4, voc, midi and au crashes
  • Fixed Real .ram and .ra files support
  • Fixed DVB channel file support
  • Fixes for alac, vorbis, DTS, VC-1 and Dirac in mp4

Encoders

  • Fix for MPEG audio encoding. Use Layer2 for the FOURCCs “mp2 ” and “mp2a”
  • Fixed JPEG generation when doing snapshots

Audio filters and output

  • Limitation of the Spatializer output volume
  • Fixed DirectSound device selection
  • Correct PulseAudio volume control
  • Fixed Directsound volume initialization
  • Volume level is no longer applied to the file output
  • Fixed sampling rate for the JACK output

Lua Scripts

  • Fixes for stdin/stdout and for different locale issues

Qt interface

  • Fixed preferences for audio devices on Windows
  • Fixed various crashes
  • Fixed multiple issues in the Open Disc dialog
  • Fixed playlist search and selector behavior
  • Miscellaneous fixes in preferences, buttons, EPG, playlist and customize dialog
  • Fixed tags and file names display

Skins2

  • Fixed mousewheel on Windows
  • Fixes for key events and focus loss

Web interface

  • Fixed display of some buttons
  • Fixed listing of files in the Open interface

[1] 1st and 2nd generation iBook G4 (PowerBook6,5), a significant number of G4 and G5-based iMacs (PowerMac6,1, PowerMac6,3, PowerMac8,1), an uncertain number of eMac generations (at least the PowerMac4,4 and the PowerMac6,4), some configurations of the 1st generation PowerMac G5 (PowerMac7,2), a single configuration of the PowerMac G4 Quicksilver (PowerMac3,5), the 1st/2nd generation Mac mini (PowerMac10,1 and PowerMac10,2) and the 2nd generation PowerBook G4 (PowerBook3,4)

[2] 1st and 2nd generation MacBook (MacBook1,1 and MacBook2,1), the Mid and Late 2006 iMacs (iMac4,2 and iMac5,2) and Mac minis sold between February 2006 and March 2009 (Macmini1,1 and Macmini2,1).

Retina Display support

VLC’s next release, version 2.0.2, will include HiDPI / Retina Display support for its video output. This way, both video and subtitles or other overlays will be rendered at the display’s native resolution leading to a greatly improved viewing experience.

If you’re one of the lucky guys to have a MacBook Pro with Retina Display already, you’re welcome to check out tomorrow night’s nightly builds (CEST).

Click on the screenshots to see the differences more in detail.

VideoLAN at LinuxTag

We will have a booth at LinuxTag in Berlin, Germany this week along with our friends from libav. It’s #167 in hall 7.2a.

We are looking forward to show you the latest developments in VideoLAN’s projects and would love to hear your feedback!

The booth will be manned by Hugo and Ludovic on Wednesday and Thursday, while I’ll be there on Friday and Saturday. Jean-Paul and Mirsal will be available throughout the week and all of us during LinuxNacht.

We hope to see you there!

Customizing VLC for Mac, 1st update

In VLC 2.0, we introduced a brand new interface, which looks quite different to VLC 1.x. We basically did 2 things here:

  • clean up the code by striping out most of the accumulated hacks of a 10 year old code base
  • introduce a new interface design, which suits the look and feel of nowadays Mac applications

However, there are quite a few users, who want to customize the UI, which is easily possible. Let me show you how. For sakes of simplicity, I’ll demonstrate the gray, default appearance only. However, it works exactly the same way if you prefer the dark style.

Let me start by showing the default view:

So, if you don’t want to use the newly introduced sidebar, you can easily get rid of it. Just grab the devider between drop zone and sidebar. Drag it to the left. The sidebar will remain hidden and all you get is this plain window:

Once you started adding items to the playlist, it will look like this:

Please note that in rare occasions, the sidebar will be restored when restarting VLC 2.0.1. This issue is resolved in VLC 2.0.2.

Next, there are people who wondered about the “newly introduced playlist”. Well, in fact, it was added to VLC 0.5.0 almost 9 years ago. However, it could be easily hidden in the past. Starting with VLC 2.0.1, you can hide it, too:

How to do that? just click on the playlist button while no video is playing. Once you started video playback, the window will expand to make room for the video. Once the playback stopped, it will resize again to show the controller only.

Finally, well, can I see both the playlist and the video output at the same time like it used to be the case all the last 10 years ago? Of course you can:

Additionally, as shown above, you can also hide the playlist while displaying the video in a separate window, so you’ll get the following appearance:

So, where can I set that? Go to Preferences, which you can find in the VLC menu, select the “Interface” category and disable “Show video within the main window”:

We hope that you enjoy using VLC 2.0 as much as we do.

Update for VLC 2.0.2 and later

This update adds an additional way of customizing VLC for Mac: a decoration free video output window. Quite a few users asked for it, so here it is:

This window will get further refinements in future releases such as the ability to resize it using the mouse (instead of hotkeys) on OS X releases older than Lion.

You can enable it in the Video category of VLC’s preferences:

Note that you need to restart VLC after changing this setting!

Improved media key support

VLC 2.0.2 will include improved support for the media keys on keyboards produced by companies other than Apple, notably the brand Cherry.

VLC uses a piece of code called SPMediaKeyTap developed by Spotify AB to provide this functionality. The fix was contributed back, so all the other client applications will benefit as well once they are updated.

This would not have been possible without the generous and enormously fast donation by ZF Friedrichshafen AG / Cherry, who delived the boards less than a week after our initial contact.

VDA decoder support

VLC’s next major release will include support for the VDA decoder API on Mac OS X thanks to Sébastien Zwickert, who added the needed code both to VLC and libav.

So, what’s the use? This adds hardware acceleration to H.264 video decoding on Mac OS X 10.6.3 and later! This way, VLC’s CPU load is reduced by up to 40 per cent on supported devices! These include Mac models equipped with the NVIDIA GeForce 9400M, GeForce 320M, GeForce GT 330M, ATI HD Radeon GFX, Intel HD Graphics and others.

More technical information is available on Sébastien’s github page.

You can find an initial pre-release build here, based upon VLC’s current development branch. Please note that this build is not made for production environments, could hurt your kittens and could do all the other bad stuff pre-alpha software is known for to your Mac and its surroundings.

Note that VDA decoding isn’t enabled by default. To enable it, go to Preferences (VLC menu), click on “Show all” on the bottom left, choose “Input/Codecs” -> “Video codecs” -> “FFmpeg” on the left hand side and scroll down on the right until you see the checkbox labelled “Hardware decoding”. Check it. That’s it. Make sure to restart the playback, if applicable.