Vista, AC3, S/PDIF

Since around December 31th last year, my home cinema is up and running. That day was the day when I finally had all the equipment needed to mount the screen that has arrived on December 29th.

It was a lot of work, but the installation just rocks. And I’ve already blogged about the main components of the thing: The Gefen HDMI extender and the Denon AVR-4306.

The heart of the system consists of shion serving content (thankfully, the TB harddrive was announced last week – it’s about time) and a brand new 1.8Ghz Mac Mini running Windows Vista (RC2) in BootCamp which is actually displaying the content.

I’ve connected a windows media center remote receiver which Microsoft sells to OEMs to use the old IR remote of my Shuttle MCE machine.

The mac mini is connected to the Denon receiver via a DVI to HDMI adaptor and optical digital cable for the audio.

And that last thing is what I’m talking about now.

The problem is that Microsoft changed a lot about how audio works in Vista and I had to learn it the hard way.

At first, I couldn’t not hear any sound at all. That’s because Vista treats all outputs of your sound card as separate entities and you can configure over which connector you want to hear which sounds.

The fix there was to set the S/PDIF connector as system default (in the sound applet of control panel) which fixed the standard windows sounds and stereo sound for me.

Actually, the properties screen of the S/PDIF connector already contains options for AC3 and DTS, complete with a nice testing feature allowing you to check your receiver’s support for the different formats by actually playing some multichannel test sound.

The problem is that this new framework is mostly unsupported by the various video codecs out there.

This means that even if you get that control panel applet to play the test sound (which is easy enough), you won’t get AC3 sound when you are playing a movie file. You still need to get a codec for that.

But most codecs don’t work right any more in vista as the S/PDIF connector now is a separate entity and seems to be accessed differently than in XP.

Usually, the only thing I install on a new windows machine I need to play video with is ffmpeg which actually has some limited support for Vista’s way of handing S/PDIF: In the audio settings dialog, you can select “Output” and then in the formats list for S/PDIF, you can check AC/3. Unfortunately, this unchecks the PCM formats.

This means that you will get sound in movies with an AC3 track, but no sound at all in every other movie – ffmpeg seems (emphasis on seems – I may just not have found a way yet) unable to either encode stereo to AC3 or output both PCM and AC3 without changing settings (not at the same time of course).

AC3filter works better in that regard.

Depending on hour of the day (…), it’s even able to work with the S/PDIF output without forcing it to encode stereo to AC3 (which AC3filter is capable to do).

So for me the solution to the whole mess was this:

  1. Install the latest build of ffmpeg, but don’t let it handle audio
  2. Install AC3filter
  3. Open the configuration tool and on the first page enable S/PDIF.
  4. On the system tab, enable passthrough for AC3 and DTS.

This did the trick for me.

As time progresses, I’m certain that the various projects will work better and better with the new functionality in Vista which will make hassles like this go away.

Until then, I’m glad I found a workable solution.