Ticket #4 (closed enhancement: fixed)

Opened 2 years ago

Last modified 6 months ago

Digital audio passthrough?

Reported by: marko@karppinen.fi Assigned to: gbooker
Priority: normal Milestone: 1.7.5
Component: a52codec Version: 1.6
Severity: normal Keywords:
Cc:

Description

Would you consider incorporating an option to pass the undecoded stream to a receiver over toslink? VLC should have usable source code for this. Thanks a million for your work so far!

Change History

06/07/06 16:01:25 changed by gbooker

  • status changed from new to assigned.

I have not only considered it, it is something that I definitely want. VLC has the advantage in that it is an application. It can set the audio output device itself. This component is a Core Audio component which does little more than take the data that core audio shoves its way, and then upon request decode it and spit out the output in PCM.

I actually looked into this several weeks before I released 1.6, but repeated testing on my Dad's decoder yielded nothing but silence or 2 channel PCM. I could get it to work with VLC there. I don't have the resources to test this at my place (no decoder), so I can't test too much on my own aside from making test builds to send out to people. I have some ideas, but first I will bug the Apple mailing lists for both Core Audio and Quicktime too see if I can get any answers before I start issuing tests to others. BTW, DVD player does this too.

07/12/06 10:36:44 changed by gbooker

  • status changed from assigned to closed.
  • resolution set to wontfix.

After several discussions with both the core audio and quicktime folk at Apple, I have concluded that this is up to apple to do. So, if you want this feature, you must bug them. One person on the QT team told me they have considered this in the past, and may implement it some day, so tell them that you demand it.

The reason they must fix this is because it is up to the application to tell the OS it is outputting encoded audio data instead of PCM.

03/28/07 02:24:05 changed by lavalamp

How about the Quicktime Plug-in Passing the AC3 stream to a helper Application that can set the audio device? If I read your reply correctly VLC did this already. Could that be a legit option, have VLC running so it can do this bypass for the mean time? Just add it as a option in your preferences panel?

04/04/07 10:47:02 changed by gbooker

  • status changed from closed to reopened.
  • resolution deleted.

in [38], I added some of the hack necessary to pull this off. It works on the AppleTV under the right conditions.

This still needs application support to work correctly, and this is still where I blame Apple in QuickTime Player (note, it is not really a problem with QuickTime, just QuickTime Player). The app needs to switch to the encoded audio output instead of PCM audio so that the OS knows not to mix and sounds with it. In addition, it must switch the sample rate of the port to match that of the audio being played. Maybe Nice Player will add support for it.

Also, when using the passthrough, if any other sounds are played, it will screw up the audio, because core audio will attempt to mix the sounds together not knowing that the audio from this codec is encoded audio (see previous paragraph).

04/04/07 13:54:30 changed by twitch

Requesting:

passthrough of raw audio stream so that my home receiver can decode DTS/DD for x264/mkv's

04/05/07 22:40:53 changed by gbooker

  • status changed from reopened to closed.
  • resolution set to fixed.

with [39], this works on PPC based macs. Since it works on the AppleTV, I will assume it works on Intel macs.. As a result, I am going to close this since all the necessary support in this codec is pretty much done. The rest of the support is in the Application (likely have to look to nice player for this) and the ' eat' component (already applied to Perian).

twitch: DTS is likely best done with a DTS component. Maybe I'll make one someday since I can get code for DTS decode. Since core audio doesn't even know that the component is doing passthrough, then it is best to also be able to do decode in the same component (in case passthrough is disabled).

04/06/07 13:46:14 changed by gbooker

  • version set to 1.6.
  • milestone set to 1.7.5.