[MPlayer-dev-eng] [PATCH] AC3/DTS passthrough for Mac OS X

Ulion ulion2002 at gmail.com
Sun Sep 16 14:12:14 CEST 2007


2007/9/16, Reimar Döffinger <Reimar.Doeffinger at stud.uni-karlsruhe.de>:
> Hello,
> On Sun, Sep 16, 2007 at 12:46:08PM +0800, Ulion wrote:
> [...]
> > I think I need to explain why passthrough on mac os x need so many
> > code again here:
>
> It would need much less changes if you didn't replace inDesc by
> ao->stream_format everywhere. All you need to do is inDesc =
> ao->stream_format at the start and ao->stream_format = inDesc at the end
> of functions.

Fixed as you advised.

> Also "others do it" is not a good excuse for the volume control problem,
> esp. since it _definitely_ is a bug in the filter chain stuff (which I
> haven't yet looked into, and it's a bit hard to do anyway since I don't
> have AC3 passthrough support here).
>

Let me explain.
When we use digital output, passthrough to s/pdif, all data transfered
by the audio chain is encoded data, its volume can not be adjusted by
any way, unless decode the data and adjust volume then re-encoded the
data, that's not worth. So when we doing passthrough, audio volume
will not allow to be changed.
When the control request to set a volume, if return false, we got this
log and mplayer dead:

[Mixer] No hardware mixing, inserting volume filter.
[libaf] Adding filter volume
[libaf] Adding filter format
[format] Sample format big-endian AC3 not yet supported

Only return true made the expected result.


When the control request to get a volume, I tried return false for get
volume, it works and mixer return a dummy volume to the caller, it's
an acceptable behavior, fixed.

fixed patch is here.

-- 
Ulion
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: macosx_passthough_shorten.txt
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20070916/3c2d7e44/attachment.txt>


More information about the MPlayer-dev-eng mailing list