summaryrefslogtreecommitdiffstats
path: root/examples/multimedia
diff options
context:
space:
mode:
authorOswald Buddenhagen <oswald.buddenhagen@nokia.com>2009-12-15 14:40:07 (GMT)
committerOswald Buddenhagen <oswald.buddenhagen@nokia.com>2009-12-15 14:40:07 (GMT)
commitd869ec981447bc6d590954a939f18b5d37ebb6cd (patch)
treeb2b0bf2ccd1f5d886340475b70c9a91b2e456ebd /examples/multimedia
parent2ba459c2adcaa4d0f865956048ac2e24f3fe6924 (diff)
parent0b402f10a26115332ae72bbf263fd15c8354ecb9 (diff)
downloadQt-d869ec981447bc6d590954a939f18b5d37ebb6cd.zip
Qt-d869ec981447bc6d590954a939f18b5d37ebb6cd.tar.gz
Qt-d869ec981447bc6d590954a939f18b5d37ebb6cd.tar.bz2
Merge remote branch 'mainline/4.6' into 4.6
Diffstat (limited to 'examples/multimedia')
-rw-r--r--examples/multimedia/audioinput/audioinput.cpp12
-rw-r--r--examples/multimedia/audiooutput/audiooutput.cpp12
2 files changed, 23 insertions, 1 deletions
diff --git a/examples/multimedia/audioinput/audioinput.cpp b/examples/multimedia/audioinput/audioinput.cpp
index 62afd73..75bddd6 100644
--- a/examples/multimedia/audioinput/audioinput.cpp
+++ b/examples/multimedia/audioinput/audioinput.cpp
@@ -195,7 +195,6 @@ InputTest::InputTest()
pullMode = true;
- // AudioInfo class only supports mono S16LE samples!
format.setFrequency(8000);
format.setChannels(1);
format.setSampleSize(16);
@@ -203,6 +202,17 @@ InputTest::InputTest()
format.setByteOrder(QAudioFormat::LittleEndian);
format.setCodec("audio/pcm");
+ QAudioDeviceInfo info(QAudioDeviceInfo::defaultInputDevice());
+ if (!info.isFormatSupported(format)) {
+ qWarning()<<"default format not supported try to use nearest";
+ format = info.nearestFormat(format);
+ }
+
+ if(format.sampleSize() != 16) {
+ qWarning()<<"audio device doesn't support 16 bit samples, example cannot run";
+ return;
+ }
+
audioInput = new QAudioInput(format,this);
connect(audioInput,SIGNAL(notify()),SLOT(status()));
connect(audioInput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));
diff --git a/examples/multimedia/audiooutput/audiooutput.cpp b/examples/multimedia/audiooutput/audiooutput.cpp
index 244840d..b6047db 100644
--- a/examples/multimedia/audiooutput/audiooutput.cpp
+++ b/examples/multimedia/audiooutput/audiooutput.cpp
@@ -170,6 +170,18 @@ AudioTest::AudioTest()
settings.setCodec("audio/pcm");
settings.setByteOrder(QAudioFormat::LittleEndian);
settings.setSampleType(QAudioFormat::SignedInt);
+
+ QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
+ if (!info.isFormatSupported(settings)) {
+ qWarning()<<"default format not supported try to use nearest";
+ settings = info.nearestFormat(settings);
+ }
+
+ if(settings.sampleSize() != 16) {
+ qWarning()<<"audio device doesn't support 16 bit samples, example cannot run";
+ return;
+ }
+
audioOutput = new QAudioOutput(settings,this);
connect(audioOutput,SIGNAL(notify()),SLOT(status()));
connect(audioOutput,SIGNAL(stateChanged(QAudio::State)),SLOT(state(QAudio::State)));