Hi,
I'm trying SPDIF output using Media Foundation, and encounter some problems.
I have a MFT handling AC3 bitstream and connected with audio renderer through IMFActivate interface. I've dumped the output of the MFT and check it with some other tools and decoders. It's valid SPDIF stream. However, the renderer's output is all noise and the external decoder couldn't recognize it as AC3.
After some tests, I find that if I delay MFT's output (Sleep(20) in MFT::ProcessOutput()), SPDIF is ok. It looks like the playback session is not synchronized with audio renderer correctly. Is it MF or driver issue
The build of Vista I use is 5472, and SPDIF works with the driver's DShow renderer.
Does anyone have the same problem Thanks.

SPDIF output
farmdude
Hi Arthur,
Just wanted to start with a couple quick sanity-check questions:
Since you're able to play the stream fine if you put a Sleep() in ProcessOutput but not otherwise, can you compare the samples coming out of ProcessOutput in either case For instance, are you sure that they have exactly the same bits and exactly the same timestamps on the IMFSamples
That will help us get started in figuring out what this might be.
Becky
nordwindranger
Becky,
Thanks for answering.
Actually, Sleep() doen't make it play fine.
I've tried to Sleep() for different durations, say 10ms~40ms. It looks like that delay just has audio device have more time to render output and more complete frames could be heard. There're still noise during playback.
All cases have the same output bits, timestamps and durations.
Docpro777
Hi Arthur,
It seems as though the issue you're reporting was a known issue and has since been fixed. Expect the next publicly-released version of Windows to contain a fix.
Thanks for reporting this issue to us, though, and good luck...
Becky