Jump to content
  • Advertisement
Sign in to follow this  

ASIO and ac3filter programming to decode dolby digital in realtime

This topic is 3168 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

I recently bought some gadgets that don't play well together. Namely, I want to connect my playstation 3 optical out to my sound card to play through my 5.1 speakers. Since the card doesn't decode dolby in hardware, I have to attempt to do it on the fly through ac3filter, yay! I encountered two obstacles so far: 1. The inadequate, but working solution: In graphedit, I route audio source->ac3filter->audio renderer and it works, but predictably audio lags behind video a fraction of second, and 2. The annoyance: When launching/quitting games, I lose audio and get buzz instead. I have to go the the mixer on my sound card control panel and toggle "SPDIF-in reverse" checkbox and I get back my sound. Solution for 1: I started writing my own directshow ASIO streaming capture/render filter that uses ASIO4ALL v2 for the driver. So far I managed to write enough code for 2 channel stereo input/output to work to see if I can defeat the lag issue, and it's a success so far. I'm confident I will have the whole thing done in a few days. Solution for 2? I don't want to go the the mixer all the time to flip a switch. Since I have the access to the whole SPDIF stream, how do I check whether it's valid or whether I need to "reverse it." This would allow me to fix the signal inside the capture filter prior to passing it through the decoder. I searched everywhere but I just hit a wall here. What does reverse spdif mean? Can anyone point me how to do it in C/C++? My sound card is the Turtle Beach Montego DDL 7.1 on newest reference cmedia drivers for windows xp, if this makes any difference. Thanks in advance.

Share this post

Link to post
Share on other sites
Sign in to follow this  

  • Advertisement

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!