[wdmaudiodev] Re: AC3 over WaveCyclic

  • From: "Daniel E. Germann" <deg@xxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Tue, 22 Feb 2005 08:15:13 -0600

Hi, Tomislav.

When we implemented this in our drivers, we found the example MSVAD AC3 driver in the DDK to be helpful, as well as a paper that talked about non-PCM formats on the Microsoft WHDC web site. You need a different pin factory for your AC3 render pin. This is handled a differently that you would expect, since you need to have a streaming pin and a bridge pin in your wave filter but not necessarily any corresponding pins in your topology filter. Also, compare your AC3 data ranges and your DataRangeIntersection handler to the ones in MSVAD/AC3 and the WHDC paper. If you are using the default DataRangeIntersection handler, that won't work because it doesn't handle non-PCM formats.

"Non-PCM Wave Format and WDM Audio Drivers"
http://www.microsoft.com/whdc/device/audio/Non-PCM.mspx

Good luck!

Best regards,
-Dan


----- Original Message -----
Date: Tue, 22 Feb 2005 03:14:02 +0100
From: Tomislav Harsnabovic <hars@xxxxxx>
Subject: [wdmaudiodev] AC3 over WaveCyclic

Hello all!

I am currently working on a driver for an ordinary PCI soundcard based on
the WaveCyclic port class, and I'm desperately trying to pass an AC3 stream
over S/PDIF. Unfortunately, my decoder doesn't make a sound. For testing
purposes, I utilize KsStudio and its 'Dolby Digital File Source' test
filter because PowerDVD/WinDVD aren't able to connect to the SPDIF
interface for some reason - they decode to PCM instead and pass the PCM
stream down to the driver, which works flawlessly like every other PCM stream.


The sound controller's registers and stuff are correctly set for an AC3
stream, so my first guess was that the AC3 frames were chopped by
WaveCyclic's stream copying mechanisms. Therefore I tried to force a
framing size of 0x600 bytes (size of an AC3 frame) and a DMA size which is
a multiple of 0x600 bytes. But that didn't help. And now I'm a bit lost
here because I ran out of good ideas.

I'd be grateful for some directions.

Cheers,

Tomislav

******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/

Other related posts: