exeldro / obs-audio-monitor

audio monitor filter for OBS Studio
GNU General Public License v2.0
278 stars 27 forks source link

Audio Monitor crashes OBS Studio when getting filter properties over Websockets. #67

Closed tinodo closed 11 months ago

tinodo commented 1 year ago

When getting filter properties of a source with the Audio Monitor plugin enabled, through WebSockets, OBS crashes without warning or crash log. This happens on all OBS 28+ version, the ones with the new Websockets version.

exeldro commented 1 year ago

What kind of audio source and what call on obs websocket exactly makes it crash for you? Just tested with GetSourceFilter, GetInputSettings and GetInputPropertiesListPropertyItems without problems

tinodo commented 1 year ago

I will have to check. I run into the problem when I connect Touch Portal to OBS with the Audio Monitor enabled. When I remove the plugin, it works. I have to check what exact call TP does and to which Audio Monitor instance, I use it quite a lot; for some VB-CABLEs, video files and audio files etc. (You can just download TP and install it; just enable the OBS plugin and you will see the problem.) I will also ask the TP developers what they are doing. (since OBS crashes unexpectedly, without a crash log, the logs that I have are not complete...)

tinodo commented 1 year ago

I can confirm that the calls you mentioned worked. So far, I haven't been able to find the offending call. I will talk to the TP developers and see whether they can provide some additional logs. I can confirm that when I move the audio monitor dll files away, TP works fine and OBS doesn't crash.

I hope I can share more soon.

tinodo commented 1 year ago

The plot thickens.... The device I am using Audio Monitor for is a Bluetooth Headset. I want to monitor some audio sources to that Blue Tooth device.

When the device is NOT CONNECTED (e.g. turned off, not connected to Windows), everything works. (Well, of course I can't hear anything, but OBS starts AND TP starts with the Audio Monitor plugin enabled.

When the device is CONNECTED (e.g turned on and my active audio device in Windows), I experience the problems I noted.

Could it be due to the device?

The call GetSourceFilterList causes OBS to crash apparently. But again, only when my audio device is connected, not when it's not connected.

This is the configuration of the audio monitor filter:

"filters": [ { "balance": 0.5, "deinterlace_field_order": 0, "deinterlace_mode": 0, "enabled": true, "flags": 0, "hotkeys": {}, "id": "audio_monitor", "mixers": 0, "monitoring_type": 0, "muted": false, "name": "Audio Monitor", "prev_ver": 486539264, "private_settings": {}, "push-to-mute": false, "push-to-mute-delay": 0, "push-to-talk": false, "push-to-talk-delay": 0, "settings": { "device": "{0.0.0.00000000}.{1957c662-6a11-4eff-a388-a0ed4f73c626}", "linked": true, "mute": 2 }, "sync": 0, "versioned_id": "audio_monitor", "volume": 1.0 } ],

exeldro commented 1 year ago

It sounds like a bug that only happens when a specific set of criteria are met. The more we find out what the criteria are the higher the change I am able to replicate it on my debug environment, which allows me to analyze and fix the bug.

tinodo commented 1 year ago

As I was writing my comment, your comment came in. I'm not sure whether you have seen the previous comment about the device being connected being an important part of this.

exeldro commented 1 year ago

I don't have a Bluetooth headset available to test with at the moment, I will try and borrow one to see if that helps me replicate it.

tinodo commented 1 year ago

I bought another Bluetooth headset, hoping it was a device-specific problem. But... Same problem.

gstudios2 commented 1 year ago

Hi there, I'm having the same problem.

I'm using https://github.com/rivafarabi/deckboard app to control many sources with audio monitor filtrs on.

griddark commented 1 year ago

I'm getting the same issue just connecting to websocket with audio monitor filter running is enough to crash OBS with no warning. I have a clean install of OBS, Sammi with nothing added. Add 1 source of audio, audio monitor filter, do nothing else, and it crashes BUT only after I restart OBS. It doesn't crash until after the restart.

ViP3R76 commented 1 year ago

Same issue - see: https://github.com/exeldro/obs-audio-monitor/issues/72

exeldro commented 11 months ago

I made a fix, can you test if it works for you? https://github.com/exeldro/obs-audio-monitor/actions/runs/5783088154 at the bottom of that page you should be able to download a test version when you are logged in on GitHub

exeldro commented 11 months ago

Fixed with release 0.8.3