Comments (17)
I think this is related: audiorouterdev/audio-router#24
from synchronousaudiorouter.
Not sure if related. SAR uses a very different method of overriding the default audio device than audio-router, but it's plausible that some anti-cheat software could break it. I don't have a copy of the game and haven't tested it.
Mind checking its handle list using Process Explorer? See if you see SarAsio.dll in its list of open files.
from synchronousaudiorouter.
Yes it is (SarAsio_x64.dll).
from synchronousaudiorouter.
@pannal, you were saying you added the Battle.net folder to the SAR applications; could you share the exact expression you used? Adding whole folders only works by adding a regular expression that matches everything in it, maybe something went wrong with that expression.
I wrote that guide by the way ;)
from synchronousaudiorouter.
Sure, but the regex is correct, as Hearthstone and other Battle.net games work in SAR.
I was so desperate at one point, because I thought my regex was wrong, that I ended up using .+GAMES.+
, which is the root folder for Steam and Battle.net.
from synchronousaudiorouter.
This appears to have nothing to do with Overwatch specifically. The problem is that Overwatch is using the XAudio2 API, which appears to have some backdoor way of getting the default audio device. It only calls IMMDeviceEnumerator::GetDevice, never IMMDeviceEnumerator::GetDefaultAudioEndpoint. Same problem happens with the basic playback example from the XAudio2 SDK samples. I'll see if I can find a solution.
from synchronousaudiorouter.
Awesome. I love the work you're doing here. Any news on a new beta?
from synchronousaudiorouter.
Need to complete a few bug fixes first. Kind of slow going atm due to work related reasons.
I'm taking a closer look now and it appears that XAudio2 is creating its renderer by calling ActivateAudioInterfaceAsync with DEVINTERFACE_AUDIO_RENDER, which goes straight into MMDevAPI's internal endpoint lookup code. ActivateAudioInterfaceAsync is implemented by an undocumented coclass ActivateAudioInterfaceWorker (E2F7A62A-862B-40AE-BBC2-5C0CA9A5B7E1) which could be intercepted, albeit at the cost of introducing a dependency on an undocumented interface. Going to give it a shot.
For completeness, other options would include hijacking the export out of MMDevAPI (very intrusive) or hijacking the top level XAudio2 COM interface (less comprehensive, other code that uses ActivateAudioInterfaceAsync wouldn't be covered). I consider CreateRemoteThread type approaches (e.g. used by audiorouter) off the table.
from synchronousaudiorouter.
This is now fixed in master. Doing some more local testing and will get a package up soon.
from synchronousaudiorouter.
You're the best. Do you have DEV instructions laying around somewhere for me to follow? I could test the latest master by myself.
I'm a developer myself (although, more Python-focused), so I should get through it.
Something like: install these requirements, build using that toolchain, sign with test key, fire away.
from synchronousaudiorouter.
Here is a build. This is not adequately tested for release. Should your machine catch fire, don't say I didn't warn you.
SynchronousAudioRouter_x64_0_13_debug_20170417.zip
Notes:
- Not tested on anything but win10 x64
- Contains a SAR NDIS driver for future networking support. Currently does nothing, should be harmless, but ymmv
- There's significant changes to the installer
- Debug logging is on, make sure your %APPDATA%\SynchronousAudioRouter\logs doesn't fill with too much spam
- Seriously, if it bugchecks, don't be surprised, I haven't even run this under Driver Verifier yet.
I don't have actual development instructions, but basically you need VS 2015 with all the C++ and ATL/COM stuff installed, the Windows Driver Kit, and WiX 3.10. Build defaults to test signing which you can Google how to enable loading test signed drivers. Debugging is best done with a 2 machine setup (I use a pair of Firewire cards for 1394 debugging).
from synchronousaudiorouter.
I'll try it, haven't had the time yet, sorry.
from synchronousaudiorouter.
Works. Also I don't have to quit reaper before going into sleep with the newest release (resulted in a bugcheck bluescreen).
Seems to work well for now.
from synchronousaudiorouter.
Yep, runs well.
from synchronousaudiorouter.
Ok, no issues since 3 days. Runs well, works with all games yet, and survives standby.
Great job!
from synchronousaudiorouter.
Thanks for the feedback. I assume you were hitting the registry filter bugcheck I fixed. IRQL_NOT_LESS_OR_EQUAL or something to that effect?
Edit: actually I'm not sure you could have ever hit that. Do you have any files in C:\Windows\Minidump with the crash info? I could use that for verification purposes.
from synchronousaudiorouter.
Exactly. I had to stop reaper before letting my PC go to standby before, otherwise I'd get exactly that bugcheck.
Edit: I had, yes. But that got cleaned up on the last cleanup run, I'm sorry.
from synchronousaudiorouter.
Related Issues (20)
- Error on installing on Windows 10 HOT 11
- Can't unninstall HOT 1
- Is there a signed version of SAR? HOT 10
- [SOLVED] Not working with Audiobox 44vsl = I had to update to Audiobox's latest driver :)
- Spotify PC playing mono - Winamp OK - Firefox OK - Chrome OK - Anyone knows why? Or how to fix it. HOT 1
- Synchronous audio router&Reaper HOT 1
- Please update SAR with signed drivers! HOT 6
- Is SAR still not workable with chromium audio sandbox :? HOT 5
- SAR Implementation and Windows Server 2022 HOT 1
- WDF_VIOLATION bsod on input change HOT 2
- Permanent endpoints HOT 1
- How is it uninstalled? HOT 1
- Completely stopped working
- No output for Discord media/notifications (--disable-features=AudioServiceSandbox doesn't work) HOT 2
- SynchronousAudioRouter HOT 6
- Not working on Windows 11 HOT 1
- Configure button creates a second instance of ASIO driver in violation of ASIO spec HOT 2
- SAR doesn't create WADs HOT 1
- Is there interest in continuing this project if the signing situation could be solved? HOT 8
- Berkley clock synchronisation HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from synchronousaudiorouter.