Placeholder-Software / Dissonance

Unity Voice Chat Asset
69 stars 5 forks source link

[bug] [help] Dissonance Voice Chat and WebRTC Unable to find lib or RemoteCertificateChainErrors #213

Closed IgorFinko closed 3 years ago

IgorFinko commented 3 years ago

Context

Hello!

I am using Dissonance Voice Chat package along with WebRTC. Everything works fine on windows, but when I try to run on android I get the error (Logcat):

2020-11-20 14:31:46.133 29398-29432/? E/Unity: Unable to find libAudioPluginDissonance 2020-11-20 14:31:46.138 29398-29432/? E/Unity: Unable to find libopus

And then:

2020-11-20 14:32:01.637 29398-29781/? E/Unity: TAGS:[ERROR,]Certificate:

I tried to use IL2CPP instead of Mono but nothing worked. Using Net.4x didn't fix the error either. Please, help!

Expected Behavior

Sound is transmitted from android to windows

Actual Behavior

PureP2PClient: WebRTC Fatal event: ServerInitFailed

Environment

martindevans commented 3 years ago

I think this may be two (probably unrelated) errors.

Unable to find libAudioPluginDissonance Unable to find libopus

These errors likely indicate that the plugins bundled with Dissonance are not being included in the build output. Could you screenshot the inspector for Assets/Plugins/Dissonance/Plugins/Android/libs/armeabi-v7a/libAudioPluginDissonance.so so I can check those settings? Thanks.

Subject: CN=because-why-not.com SslPolicityErrors: RemoteCertificateChainErrors. This error indicates a problem with the server side

This is an error with the certificate on the because-why-not signalling server. You'll need to contact the developer of the webrtc asset about it. Alternatively you could set up your own signalling server, the because-why-not one is only for testing so you need to set your own up before release anyway.

IgorFinko commented 3 years ago

Yes, of course

Screenshot- 2020-11-20 190318

I tested because-why-not signaling server before without Dissonance and there was no error with certificates.

martindevans commented 3 years ago

Those import settings do look ok. Could you try an ARM64 build to see if it has the same problem (that uses a different set of plugins).

I tested because-why-not signaling server before without Dissonance and there was no error with certificates.

I think this may be because the demo scene is set up to use wss:// (i.e. secure websockets). If you tested with just ws:// then it wouldn't be checking certificates. Since security isn't very important for the demo/test you can change the Dissonance demo scene to use ws://.

IgorFinko commented 3 years ago

The ARM64 build gave even more bugs. Using ws: // instead of wss: // didn't help either. But the problem was solved by using different settings for the PureP2PCommsNetwork component. Audio between android and computer is now transmitted, although the error (Unable to find libAudioPluginDissonance) still appears in the logcat. But it does not interfere with the transmission of sound in any way. Everything is working now, thanks.