summaryrefslogtreecommitdiffstats
path: root/demos/mobile/quickhit/ga_src/GEAudioOut.cpp
diff options
context:
space:
mode:
authorJerome Pasion <jerome.pasion@nokia.com>2011-03-09 16:28:42 (GMT)
committerJerome Pasion <jerome.pasion@nokia.com>2011-03-09 16:28:42 (GMT)
commit19a485bd205690561b91d6bdf4c2e5310511d075 (patch)
tree950ca67d233a48879211c16ec7a3b6b7d7f5296e /demos/mobile/quickhit/ga_src/GEAudioOut.cpp
parent97bc06f9129abdeda2f58dd001b6c5a596e22e41 (diff)
downloadQt-19a485bd205690561b91d6bdf4c2e5310511d075.zip
Qt-19a485bd205690561b91d6bdf4c2e5310511d075.tar.gz
Qt-19a485bd205690561b91d6bdf4c2e5310511d075.tar.bz2
Removed 2 mobile demos. Their replacement will be added separately.
Diffstat (limited to 'demos/mobile/quickhit/ga_src/GEAudioOut.cpp')
-rw-r--r--demos/mobile/quickhit/ga_src/GEAudioOut.cpp144
1 files changed, 0 insertions, 144 deletions
diff --git a/demos/mobile/quickhit/ga_src/GEAudioOut.cpp b/demos/mobile/quickhit/ga_src/GEAudioOut.cpp
deleted file mode 100644
index 73a765c..0000000
--- a/demos/mobile/quickhit/ga_src/GEAudioOut.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
-** All rights reserved.
-** Contact: Nokia Corporation (qt-info@nokia.com)
-**
-** This file is part of the QtDeclarative module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** You may use this file under the terms of the BSD license as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of Nokia Corporation and its Subsidiary(-ies) nor
-** the names of its contributors may be used to endorse or promote
-** products derived from this software without specific prior written
-** permission.
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/qstring.h>
-#include <QAudioOutput>
-
-#include "GEAudioOut.h"
-
-using namespace GE;
-//using namespace QTM_NAMESPACE;
-
-/*
-#ifndef Q_OS_WIN32
-QTM_USE_NAMESPACE
-#endif
-*/
-
-const int CHANNELS = 2;
-const QString CODEC = "audio/pcm";
-const QAudioFormat::Endian BYTEORDER = QAudioFormat::LittleEndian;
-const QAudioFormat::SampleType SAMTYPE = QAudioFormat::SignedInt;
-
-
-
-AudioOut::AudioOut( QObject *parent, GE::IAudioSource *source ) : QThread(parent) { // qobject
- m_source = source;
- QAudioFormat format;
- format.setFrequency(AUDIO_FREQUENCY);
- format.setChannels(CHANNELS);
- format.setSampleSize(AUDIO_SAMPLE_BITS);
- format.setCodec(CODEC);
- format.setByteOrder(BYTEORDER);
- format.setSampleType(SAMTYPE);
-
- QAudioDeviceInfo info(QAudioDeviceInfo::defaultOutputDevice());
- if (!info.isFormatSupported(format))
- format = info.nearestFormat(format);
-
-
- m_audioOutput = new QAudioOutput(info,format);
-
-#ifdef Q_WS_MAEMO_5
- m_audioOutput->setBufferSize(20000);
- m_sendBufferSize = 5000;
-#else
- m_audioOutput->setBufferSize(16000);
- m_sendBufferSize = 4000;
-#endif
-
- m_outTarget = m_audioOutput->start();
-
-
- m_sendBuffer = new AUDIO_SAMPLE_TYPE[ m_sendBufferSize ];
- m_samplesMixed = 0;
-
- m_runstate=0;
-
-#ifndef Q_OS_SYMBIAN
- start();
-#else
- m_audioOutput->setNotifyInterval(5);
- connect(m_audioOutput,SIGNAL(notify()),SLOT(audioNotify()));
-#endif
-
-};
-
-
-AudioOut::~AudioOut() {
- if (m_runstate==0) m_runstate = 1;
- if (QThread::isRunning() == false) m_runstate = 2;
- while (m_runstate!=2) { msleep(50); } // wait until the thread is finished
- m_audioOutput->stop();
- delete m_audioOutput;
- delete [] m_sendBuffer;
-};
-
-
-void AudioOut::audioNotify() {
- tick();
-};
-
-void AudioOut::tick() {
- // fill data to buffer as much as free space is available..
- int samplesToWrite = m_audioOutput->bytesFree() / (CHANNELS*AUDIO_SAMPLE_BITS/8);
- samplesToWrite*=2;
-
- if (samplesToWrite > m_sendBufferSize) samplesToWrite = m_sendBufferSize;
- if (samplesToWrite<=0) return;
- int mixedSamples = m_source->pullAudio( m_sendBuffer, samplesToWrite );
- m_outTarget->write( (char*)m_sendBuffer, mixedSamples*2 );
-
-};
-
-
-void AudioOut::run() {
- if (!m_source) { m_runstate=2; return; }
- int sleepTime = m_sendBufferSize * 340 / AUDIO_FREQUENCY;
- if (sleepTime<2) sleepTime = 2;
-
- while (m_runstate==0) {
- tick();
- msleep(sleepTime);
- };
- m_runstate = 2;
-};
-
-