Linux audio stops reading

I’ve got a desktop application that allows you test your audio configuration by sending and receiving audio between your local devices (typically a headset mic and headset speaker of some sort).

It works fine on Windows but on Linux (Ubuntu 14.04 32-bit in particular) it stops reading from the output device. I created a simple stripped down program which seems to work using my stripped down subclass of QIODevice but stops reading when using QBuffer as the device. I’d like to know why it doesn’t work when using QBuffer because my real (non-stripped down) subclass of QIODevice has similar behavior (audio stops reading from output device).
At first I thought it was because I wasn’t emitting readyRead signals but adding them didn’t help and my stripped down subclasss of QIODevice appears to work fine without them.

Here is the method that starts playing audio. The entire application can be found here