Obs-asio

Peter Fay

New Member
We are relatively new users of OBS-studio to livestream our Sunday Service.
We have done this with a poor audio until we acquired an X32 Behringer sound deck 2weeks ago.
We are using the X32 usb card to take inputs from 4 microphone back to the PC and OBS. The ASIO channels are picked as ASIO audio sources using the obs-asio plugin.
Last week all worked well.
This week we suffered multiple OBS crashes including 2 crashes during the livestreaming of the service.:'(
Crash logs all point to win-asio.dll (obs-asio plugin)
No significant changes have been made to OBS in the past week.
However we did route x32 card to tap post fader (setting in1-8 to out1-8 on card routing then setting operational channels (1,2,4 &5) to direct out post fader of the appropriate channel.
This routing works and uses the gate,/compressor/fader functionality of the X32 for streaming.
...but is it the cause of our OBS crashing?
 

Peter Fay

New Member
(first part of crash log)
Unhandled exception: c0000094
Date/Time: 2021-11-28, 11:38:02
Fault address: 7FFD38901B54 (c:\program files\obs-studio\obs-plugins\64bit\win-asio.dll)
libobs version: 27.1.3 (64-bit)
Windows version: 10.0 build 19043 (release: 2009; revision: 1348; 64-bit)
CPU: Intel(R) Core(TM) i9-10900F CPU @ 2.80GHz


Thread 2EB0: (Crashed)
Stack EIP Arg0 Arg1 Arg2 Arg3 Address
000000621A2FB720 00007FFD38901B54 0000000000000000 00001B1CF07601D1 000000621A2FBC78 000000621A2FBC78 win-asio.dll!AudioCB::audioDeviceAboutToStart+0xb4
000000621A2FBBE0 00007FFD388A5EE6 000000621A2FBC78 000001C666815C88 00000000004BE3AD 00007FFD38AE4F98 win-asio.dll!juce::ASIOAudioIODevice::start+0x26
000000621A2FBC10 00007FFD388A6157 FFFFFFFFFFFFFFFE 000001C6066125D0 0000000000000001 000001C666815C88 win-asio.dll!juce::ASIOAudioIODevice::timerCallback+0x107
000000621A2FBCC0 00007FFD38863773 000001C606052090 00007FFD38AE4F98 00007FFD38AE4F98 000001C606EA2970 win-asio.dll!juce::Timer::TimerThread::callTimers+0x173
000000621A2FBD20 00007FFD38864977 000000000000047B 000001C606052090 0000000000000000 0000000000000000 win-asio.dll!juce::InternalMessageQueue::dispatchMessages+0x97
000000621A2FBD70 00007FFD388645F7 0000000000000000 0000000000000001 000000621A2FC0C0 0000000000000000 win-asio.dll!juce::InternalMessageQueue::messageWndProc+0x47
000000621A2FBDB0 00007FFD8A19E7E8 0000000000003DFF 00007FFD388645B0 0000000000020430 000001C60000047B user32.dll!0x7ffd8a19e7e8
000000621A2FBF40 00007FFD8A19E229 00007FFD388645B0 0000000000000001 000001C657096648 000001C60625C270 user32.dll!0x7ffd8a19e229
000000621A2FBFC0 00007FFD4722AD6C 000001C6570D2400 0000000000000000 000001C60625C270 0000000000000001 qt5core.dll!0x7ffd4722ad6c
000000621A2FF0E0 00007FFD4AD32619 0000000000000000 00007FFD00000014 0000000000000000 0000000000000040 qwindows.dll!0x7ffd4ad32619
000000621A2FF110 00007FFD471DDE7C 000001C657091A48 0000000000000000 000000621A2FF640 00007FFD472FFC90 qt5core.dll!0x7ffd471dde7c
000000621A2FF170 00007FFD471E0994 00007FF626D15ED0 000000621A2FF580 00007FF626D15ED0 000000621A2FF640 qt5core.dll!0x7ffd471e0994
000000621A2FF1D0 00007FF626A77003 0000000000000000 000001C6570B2EA0 000001C600000000 000001C6570AF260 obs64.exe!run_program+0x7b3
000000621A2FF540 00007FF626A79290 0000000000000000 0000000000000000 0000000000000000 FFFFFFFFFFFFFFFF obs64.exe!main+0x6c0
000000621A2FF710 00007FF626C0E3D7 0000000000000000 0000000000000000 0000000000000000 0000000000000000 obs64.exe!WinMain+0x157
000000621A2FF7A0 00007FF626C0DC96 0000000000000000 0000000000000000 0000000000000000 0000000000000000 obs64.exe!__scrt_common_main_seh+0x106
000000621A2FF7E0 00007FFD8A9B7034 0000000000000000 0000000000000000 0000000000000000 0000000000000000 kernel32.dll!0x7ffd8a9b7034
000000621A2FF810 00007FFD8B322651 0000000000000000 0000000000000000 0000000000000000 0000000000000000 ntdll.dll!0x7ffd8b322651
 

konsolenritter

Active Member
Don't know much about the X32 and its asio interface in special.

But in general terms it can be said that the source routing within the X32 should be transparent (invisible) to the pc side. The computer sees audio signal coming, but shouldn't really know where these signals come from. So the insert processing on the x32 should be invisible to the asio pc side, too.

In special there are two things to mind:
- Samplerate on the asio side should match the internal samplerate within the x32 (as long as behringer don't tell something different),
- Total (perfect) silence thru a digital interface means zero values. This may be a problem with OBS, but i don't remember exactly. That said: Proof if you are using "perfect" gating on the x32, this could be a cause.
- Routing too much channels (4/8?) where only a fraction is used may cause bottleneck problems on the digital side, so to say, USB in your case, or at driver level.

Even if something cabling (usb?) on the pc was changed (even other than the x32 connection) it may harm the x32 connection. And there is the possibility of introducing driver harm by win10 updates. A really plague these days!


General hint: If your equipment is quite new, and keeping your stream is crucial for your purposes, i would setup an analogue backup: routing to physical analog outs on the x32 and using a simple (but professional grade) stereo interface into the pc. Serving suggestion may be a steinberg UR interface or something similar. If OBS crashes you could drop the x32 usb connection and start over with obs fast.
 
Top