You would need to write an AAC to IEC958 converter and then raise the rank of that element to a higher rank than the AAC decoders. You will also need to make sure it's listed as a decoder otherwise playbin2 will ignore it. That's how we handle SPDIF passthrough for AC3 and DTS in Moovida.

Best regards,
Julien Moutte,

On Tue, Feb 8, 2011 at 10:51 AM, Akihiro TSUKADA <tskd2@yahoo.co.jp> wrote:
looking through the debug log,
I have noticed that the uridecodebin continued to auto-plug aacparse to the caps
"audio/mpeg, framed=true, mpeg=2", and then, instead of auto-plugging aac2spdif,
it (wrongly) auto-plugged an faad AAC decoder, which outputs the caps "audio/x-raw-...",
 and this caps naturally does not fit to alsaspdif, which requires "audio/x-iec958".

So, uridecodebin selected faad, not aac2spdif, but I assigned them the ranks of
MARGINAL and PRIMARY respectively.  In addition, I specified alsaspdif as an
custom audio-sink, and it requires the caps "audio/x-iec958".....

In order to prevent the above problem, I guess that
uridecodebin must have the "caps" property set in playbin2::activate_group()
or somewhere else. Is this right? or should aac2spdif or aacparse  do something?

Get the new Internet Explorer 8 optimized for Yahoo! JAPAN

The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
gstreamer-devel mailing list