summaryrefslogtreecommitdiffstats
path: root/examples/multimedia
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2009-12-16 08:21:45 (GMT)
committerQt Continuous Integration System <qt-info@nokia.com>2009-12-16 08:21:45 (GMT)
commit4866f6a99f0e15680a788c44d2725b7d168562f9 (patch)
tree074e1df71d374c0413eb9fb9752970b52166b502 /examples/multimedia
parent191a716c0618fcaf6450389fc5ad133d787b53f3 (diff)
parentd869ec981447bc6d590954a939f18b5d37ebb6cd (diff)
downloadQt-4866f6a99f0e15680a788c44d2725b7d168562f9.zip
Qt-4866f6a99f0e15680a788c44d2725b7d168562f9.tar.gz
Qt-4866f6a99f0e15680a788c44d2725b7d168562f9.tar.bz2
Merge branch '4.6' of scm.dev.nokia.troll.no:qt/berlin-staging-1 into 4.6-integration
* '4.6' of scm.dev.nokia.troll.no:qt/berlin-staging-1: Fix precision loss warning (qreal vs. float on Windows) def file maintenance. def file maintenance. Fixed compile for S60 (.def file updates). QPlainTextEdit scrolling issue with folded paragraphs Designer: Show actions in action editor in QKeySequence::NativeText Fix up documentation examples for low-level audio. Add -audio-backend and -no-audio-backend configure option. audioinput and audiooutput examples not using isFormatSupported Qt fails to build on RHEL 4 and other older Linux versions because of
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)));