Feb 9th, 2008 by Graham Booker
I have seen a few people post methods about enabling AC3 passthrough, and many of them are overly complicated or in some cases even wrong. This also serves as the first place to describe how to enable DTS passthrough. Since I designed the code that actually does this, I’ll list the steps here:
Note: This does not work with all receivers. If these instructions fail for you, most likely your receiver will not work with this. Passthrough is still a hack, and thus this hack is still outside of the specs.
Note 2: Apple broke AC3 rather seriously in QT 7.3 (bug id 5594478, go tell them to fix it). If have a .mov file, open it, and it says that it is stereo audio rather than 5.1, this is a symptom of that bug. You will need to have at least Perian 1.1 and re-open the original file that made the .mov file. This bug has been fixed in 7.4.5, but any .mov files created with QT 7.3 or 7.4 are still affected by this bug.
Note 3: Perian 1.1.4 contains a bug in which DTS passthrough fails to work. This will be fixed in the next version. This has been fixed in Perian 1.2, released Dec 17, 2009.
- Install Perian
Just go to Perian.org and click the big download link. Double click on the pref pane, and it’ll install itself.
- Connect your receiver
The audio connection must be a digital connection. In all cases that I know of, this means an optical cable from your mac to the receiver. In the case of the AppleTV, this is certainly the case. I suppose this could work with the coaxial digital connection, but I don’t know of the audio hardware that provides this connection.
- Change the sample rate to 48KHz
- On the mac, open
- In the lower right, change the format to
48000.0 Hz, and
Note: If, in the off situation, you are playing a file with 44.1KHz audio, you will need to set it to
- On the AppleTV, this is much more difficult. I recommend using Sapphire instead for playback. It’ll do this step for you
- On the mac, open
- Enable AC3/DTS passthrough.
This is easy when done correctly. For AC3 passthrough, open
defaults write com.cod3r.a52codec attemptPassthrough 1
To turn off AC3 passthrough, you type this instead:
defaults delete com.cod3r.a52codec attemptPassthrough
DTS passthrough is done through:
defaults write org.perian.Perian attemptDTSPassthrough 1
To turn off DTS passthrough, you type this instead:
defaults delete org.perian.Perian attemptDTSPassthrough
- Launch your application to play with passthrough. This means if it was already running, quit it and start it again. You can quit Frontrow by entering Frontrow, and pressing Cmd-Opt-Esc.
- Play with 100% volume
This does not mean modify the movie to play with greater gain than the original movie file in the properties, but it does mean you shouldn’t change the volume level of the movie file. If it has been changed, set it to the top with the little volume slider. Most likely, you will not have to do anything with this step.
- Check Channel Layout
Note: Since Apple refuses to do the right thing and fix their bugs, A52Codec now attempts to detect this layout and adjust itself accordingly. This is yet another hack to work around Apple’s refusals to correct their errors. It may not work correctly in all circumstances.
Due to bugs in Apple’s Quicktime components, (rdar:5799879 reported in March of 2008, not fixed), some methods of reading AC3 will have the wrong channel layout. Furthermore, due to issues related to how multi-channel audio is handled, the decoder is unaware of the order QuickTime expects (rdar:6921431). Make sure the channel layout is ordered: L, R, C, LFE, Ls, Rs. This can be verified by the “Show Movie Properties” within QuickTime Player. Select the audio track, and “Audio Settings”. It should look like this:
Note: I’ve been arguing with Apple about this one for almost 2 years now! For those within the company, see to it that rdar 5799879 and 6921431 get more attention than a single comment every 3-18 months! Either one would resolve this, but neither are getting response consistent with documentation. What’s worse is that Apple’s chosen layouts are even used anywhere!
- Check Receiver’s Settings
As Dominik Pich pointed out, some receivers have an encoding setting. In his example, some Sony receivers need to be changed from
That’s it. Play you movies with AC3/DTS audio and enjoy your 5.1 system.
Edit: Added volume information which was missing.
Edit: Added restarting the app which was missing.
|Creative||Inspire Digital 5500||YES|
|Yamaha||RX-V27000||YES|I’ve re-enabled comments on this post for the purposes of constructing a list of receivers which work and those that don’t. Please reply with the make/model of your receiver and whether it works. Comments disabled due to spammers.