Is there anyway to change the category of the RTCAudioSessionConfiguration object before setting it as the webrtc configuration?

No, not in this module, at the moment.

The reason to that is by default, the library treats a one-way communication (broadcast) as video call, and it causes quite a few issues, eg. Microphone permission request (for the viewers), playing mode, speaker routing, etc.

We’ve made sure that the sdp only uses ‘sendonly’ or ‘recvonly’, but still…
It doesn’t seem like there’s a way to start a view-only live stream using this library w/o all these glitches.

Any advise would be much appreciated.

Unfortunately this is buried deep down WebRTC and is still not fixed, so no amount of configuration will fix the permissions problem, as you know from https://bugs.chromium.org/p/webrtc/issues/detail?id=10396

I’d assume the default constraints we pass would be enough: https://github.com/oney/react-native-webrtc/blob/master/RTCPeerConnection.js#L46

What SDP do you get when you create an offer without adding any streams to the peer connection?