Hello, dear community members.
I have several problems with audio quality on a remote end when mixing WebAudio and getUserMedia streams.
Let me describe a usage scenario. A drum beat is being played using WebAudio API from a file using following method invocation sequence: (createMediaElementSource(mediaElement) -> audioContext.createMediaStreamDestination -> RTCPeerConnection.addTrack). The same peerconnection also contains the mediaTrack captured from an electric guitar. Playing separately the quality is OK, but once both tracks start to play together the quality becomes really bad. Glitches, clicks etc occur. Additionally, drum beat becomes arrhythmic. Is there any possibility to debug the reason of that and improve the quality? Is there a chance that mediaElement.captureStream will fix that once it occurs in Chrome stable?
Second problem is an input latency. I use external usb-audio device and there is a slight delay which makes concurrent listening and playing almost impossible. Generally it can be solved on Windows using ASIO4ALL. But it seems like Chrome can not access ASIO drivers. So the question is how to make Chrome work with ASIO4ALL and is there any possibility to reduce the input latency on Windows and other platforms?
Maybe some of you have solved that issues and may share the relevant experience? it would be much appreciated.