Closed padenot closed 2 years ago
An MPSC that doesn't allocate is hard to write, and we'd need it in C++ (the gecko one allocates, and we do a number of tricks to make it cheap). When we have more backends in rust, we can reconsider what we do about logging, probably by using a good MPSC crate.
This uses an spsc ring buffer to proxy the audio input callback parameters to the output thread, for logging purposes.
Without this, multiple threads can attempt writing in the spsc ring buffer that's used for async logging, which make an assertion blow up.