summaryrefslogtreecommitdiffstats
path: root/examples/multimedia/audiooutput/audiooutput.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/multimedia/audiooutput/audiooutput.cpp')
-rw-r--r--examples/multimedia/audiooutput/audiooutput.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/examples/multimedia/audiooutput/audiooutput.cpp b/examples/multimedia/audiooutput/audiooutput.cpp
index 9368a611e..a00ffbb00 100644
--- a/examples/multimedia/audiooutput/audiooutput.cpp
+++ b/examples/multimedia/audiooutput/audiooutput.cpp
@@ -167,6 +167,7 @@ AudioTest::AudioTest()
, m_generator(0)
, m_audioOutput(0)
, m_output(0)
+ , m_pullMode(true)
, m_buffer(BufferSize, 0)
{
initializeWindow();
@@ -222,8 +223,6 @@ void AudioTest::initializeAudio()
{
connect(m_pushTimer, SIGNAL(timeout()), SLOT(pushTimerExpired()));
- m_pullMode = true;
-
m_format.setSampleRate(DataSampleRateHz);
m_format.setChannelCount(1);
m_format.setSampleSize(16);
@@ -231,12 +230,14 @@ void AudioTest::initializeAudio()
m_format.setByteOrder(QAudioFormat::LittleEndian);
m_format.setSampleType(QAudioFormat::SignedInt);
- QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
+ QAudioDeviceInfo info(m_device);
if (!info.isFormatSupported(m_format)) {
qWarning() << "Default format not supported - trying to use nearest";
m_format = info.nearestFormat(m_format);
}
+ if (m_generator)
+ delete m_generator;
m_generator = new Generator(m_format, DurationSeconds*1000000, ToneSampleRateHz, this);
createAudioOutput();
@@ -264,7 +265,7 @@ void AudioTest::deviceChanged(int index)
m_audioOutput->stop();
m_audioOutput->disconnect(this);
m_device = m_deviceBox->itemData(index).value<QAudioDeviceInfo>();
- createAudioOutput();
+ initializeAudio();
}
void AudioTest::volumeChanged(int value)