[Interest] QAudioOutput, timers and wave chunks synchronisation

Simon Werner simon.werner at voltdrum.de
Sat Apr 18 12:05:55 CEST 2015


Hello,

I have a problem with QAudioOutput and pushing chunks in time into the
output device. I open up an QAudioOuput with a QIODevice under the
hood and push chunks from a wave file stream into it. First I used
QTimer and depending on the sample rate of the file I used the timeout
signal to push a chunk into the buffer. The problem is if I do so the
audio output is linked to the performance of the threat the
QAudioOuput is nested in.

So I decided to put my "audiotimer" into a thread and recall process()
after putting the thread into sleep for the specific interval.
Everytime I call process I emit a signal for the other classes to
catch and start processing audio data. This ends up in a crash caused
by a segfault when emmiting the signal.

Due to the fact that the QT 5.x documentation is not very precise how
to use the QAudioDevice in push mode I need to know how to properly
use a timer to put wave chunks into the output in QT.

Just to let you know I'm having different audio sinks and I merge them
into one audio output.

Thank you for your help.

I also started this thread on stackoverflow: 
https://stackoverflow.com/questions/29715711/qt-audiooutput-timing
-problems



More information about the Interest mailing list