use ringbuffer instead of queue
improvements on audio-receive code