summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--examples/multimedia/spectrum/app/mainwidget.cpp6
-rw-r--r--src/multimedia/audio/qaudio.cpp6
-rw-r--r--src/multimedia/audio/qaudio.h2
-rw-r--r--src/multimedia/audio/qaudioinput.cpp6
-rw-r--r--src/multimedia/audio/qaudiooutput.cpp4
-rw-r--r--src/multimedia/audio/qaudiosystem.cpp10
-rw-r--r--src/multimedia/audio/qaudiosystem_p.h8
-rw-r--r--src/multimedia/platform/alsa/qalsaaudioinput.cpp9
-rw-r--r--src/multimedia/platform/alsa/qalsaaudioinput_p.h2
-rw-r--r--src/multimedia/platform/alsa/qalsaaudiooutput.cpp9
-rw-r--r--src/multimedia/platform/alsa/qalsaaudiooutput_p.h2
-rw-r--r--src/multimedia/platform/android/audio/qopenslesaudioinput.cpp9
-rw-r--r--src/multimedia/platform/android/audio/qopenslesaudioinput_p.h2
-rw-r--r--src/multimedia/platform/android/audio/qopenslesaudiooutput.cpp9
-rw-r--r--src/multimedia/platform/android/audio/qopenslesaudiooutput_p.h2
-rw-r--r--src/multimedia/platform/darwin/audio/qcoreaudioinput.mm13
-rw-r--r--src/multimedia/platform/darwin/audio/qcoreaudioinput_p.h2
-rw-r--r--src/multimedia/platform/darwin/audio/qcoreaudiooutput.mm11
-rw-r--r--src/multimedia/platform/darwin/audio/qcoreaudiooutput_p.h2
-rw-r--r--src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer.cpp10
-rw-r--r--src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer_p.h2
-rw-r--r--src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp9
-rw-r--r--src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer_p.h2
-rw-r--r--src/multimedia/platform/pulseaudio/qaudioinput_pulse.cpp9
-rw-r--r--src/multimedia/platform/pulseaudio/qaudioinput_pulse_p.h2
-rw-r--r--src/multimedia/platform/pulseaudio/qaudiooutput_pulse.cpp9
-rw-r--r--src/multimedia/platform/pulseaudio/qaudiooutput_pulse_p.h2
-rw-r--r--src/multimedia/platform/qnx/audio/qnxaudioinput.cpp9
-rw-r--r--src/multimedia/platform/qnx/audio/qnxaudioinput_p.h2
-rw-r--r--src/multimedia/platform/qnx/audio/qnxaudiooutput.cpp21
-rw-r--r--src/multimedia/platform/qnx/audio/qnxaudiooutput_p.h2
-rw-r--r--src/multimedia/platform/windows/audio/qwindowsaudioinput.cpp9
-rw-r--r--src/multimedia/platform/windows/audio/qwindowsaudioinput_p.h2
-rw-r--r--src/multimedia/platform/windows/audio/qwindowsaudiooutput.cpp9
-rw-r--r--src/multimedia/platform/windows/audio/qwindowsaudiooutput_p.h2
35 files changed, 20 insertions, 195 deletions
diff --git a/examples/multimedia/spectrum/app/mainwidget.cpp b/examples/multimedia/spectrum/app/mainwidget.cpp
index 20ce13a3d..9a6fa0ac5 100644
--- a/examples/multimedia/spectrum/app/mainwidget.cpp
+++ b/examples/multimedia/spectrum/app/mainwidget.cpp
@@ -117,8 +117,7 @@ void MainWidget::stateChanged(QAudio::Mode mode, QAudio::State state)
updateButtonStates();
if (QAudio::ActiveState != state &&
- QAudio::SuspendedState != state &&
- QAudio::InterruptedState != state) {
+ QAudio::SuspendedState != state) {
m_levelMeter->reset();
m_spectrograph->reset();
}
@@ -423,8 +422,7 @@ void MainWidget::updateButtonStates()
const bool playEnabled = (/*m_engine->dataLength() &&*/
(QAudio::AudioOutput != m_engine->mode() ||
(QAudio::ActiveState != m_engine->state() &&
- QAudio::IdleState != m_engine->state() &&
- QAudio::InterruptedState != m_engine->state())));
+ QAudio::IdleState != m_engine->state())));
m_playButton->setEnabled(playEnabled);
}
diff --git a/src/multimedia/audio/qaudio.cpp b/src/multimedia/audio/qaudio.cpp
index 4b75f0127..db3f39880 100644
--- a/src/multimedia/audio/qaudio.cpp
+++ b/src/multimedia/audio/qaudio.cpp
@@ -77,9 +77,6 @@ QT_BEGIN_NAMESPACE
\value StoppedState The audio device is closed, and is not processing any audio data
\value IdleState The QIODevice passed in has no data and audio system's buffer is empty, this state
is set after start() is called and while no audio data is available to be processed.
- \value InterruptedState This stream is in a suspended state because another higher priority stream currently
- has control of the audio device. Playback cannot resume until the higher priority
- stream relinquishes control of the audio device.
*/
/*!
@@ -279,9 +276,6 @@ QDebug operator<<(QDebug dbg, QAudio::State state)
case QAudio::IdleState:
dbg << "IdleState";
break;
- case QAudio::InterruptedState:
- dbg << "InterruptedState";
- break;
}
return dbg;
}
diff --git a/src/multimedia/audio/qaudio.h b/src/multimedia/audio/qaudio.h
index 8e644a79f..a3c844318 100644
--- a/src/multimedia/audio/qaudio.h
+++ b/src/multimedia/audio/qaudio.h
@@ -54,7 +54,7 @@ class QString;
namespace QAudio
{
enum Error { NoError, OpenError, IOError, UnderrunError, FatalError };
- enum State { ActiveState, SuspendedState, StoppedState, IdleState, InterruptedState };
+ enum State { ActiveState, SuspendedState, StoppedState, IdleState };
enum Mode { AudioInput, AudioOutput };
enum Role {
diff --git a/src/multimedia/audio/qaudioinput.cpp b/src/multimedia/audio/qaudioinput.cpp
index 018ae102f..f560be300 100644
--- a/src/multimedia/audio/qaudioinput.cpp
+++ b/src/multimedia/audio/qaudioinput.cpp
@@ -163,6 +163,7 @@ QAudioInput::~QAudioInput()
void QAudioInput::start(QIODevice* device)
{
+ d->elapsedTime.start();
d->start(device);
}
@@ -186,6 +187,7 @@ void QAudioInput::start(QIODevice* device)
QIODevice* QAudioInput::start()
{
+ d->elapsedTime.start();
return d->start();
}
@@ -348,9 +350,11 @@ qint64 QAudioInput::processedUSecs() const
Suspend states.
*/
+#include <qdebug.h>
+
qint64 QAudioInput::elapsedUSecs() const
{
- return d->elapsedTime.elapsed()/1000;
+ return d->state() == QAudio::StoppedState ? 0 : d->elapsedTime.nsecsElapsed()/1000;
}
/*!
diff --git a/src/multimedia/audio/qaudiooutput.cpp b/src/multimedia/audio/qaudiooutput.cpp
index 0f62c7b02..3257d5c2b 100644
--- a/src/multimedia/audio/qaudiooutput.cpp
+++ b/src/multimedia/audio/qaudiooutput.cpp
@@ -162,6 +162,7 @@ QAudioFormat QAudioOutput::format() const
*/
void QAudioOutput::start(QIODevice* device)
{
+ d->elapsedTime.restart();
d->start(device);
}
@@ -184,6 +185,7 @@ void QAudioOutput::start(QIODevice* device)
*/
QIODevice* QAudioOutput::start()
{
+ d->elapsedTime.restart();
return d->start();
}
@@ -296,7 +298,7 @@ qint64 QAudioOutput::processedUSecs() const
*/
qint64 QAudioOutput::elapsedUSecs() const
{
- return d->elapsedUSecs();
+ return d->state() == QAudio::StoppedState ? 0 : d->elapsedTime.nsecsElapsed()/1000;
}
/*!
diff --git a/src/multimedia/audio/qaudiosystem.cpp b/src/multimedia/audio/qaudiosystem.cpp
index 019a5e9b3..25c6ad399 100644
--- a/src/multimedia/audio/qaudiosystem.cpp
+++ b/src/multimedia/audio/qaudiosystem.cpp
@@ -185,11 +185,6 @@ int QAbstractAudioOutput::periodSize() const
*/
/*!
- \fn virtual qint64 QAbstractAudioOutput::elapsedUSecs() const
- Returns the milliseconds since start() was called, including time in Idle and suspend states.
-*/
-
-/*!
\fn virtual QAudio::Error QAbstractAudioOutput::error() const
Returns the error state.
*/
@@ -311,11 +306,6 @@ int QAbstractAudioInput::periodSize() const
*/
/*!
- \fn virtual qint64 QAbstractAudioInput::elapsedUSecs() const
- Returns the milliseconds since start() was called, including time in Idle and suspend states.
-*/
-
-/*!
\fn virtual QAudio::Error QAbstractAudioInput::error() const
Returns the error state.
*/
diff --git a/src/multimedia/audio/qaudiosystem_p.h b/src/multimedia/audio/qaudiosystem_p.h
index a05709cfa..1ff4c2a8f 100644
--- a/src/multimedia/audio/qaudiosystem_p.h
+++ b/src/multimedia/audio/qaudiosystem_p.h
@@ -79,7 +79,6 @@ public:
virtual void setBufferSize(int value) = 0;
virtual int bufferSize() const = 0;
virtual qint64 processedUSecs() const = 0;
- virtual qint64 elapsedUSecs() const = 0;
virtual QAudio::Error error() const = 0;
virtual QAudio::State state() const = 0;
virtual void setFormat(const QAudioFormat& fmt) = 0;
@@ -89,6 +88,8 @@ public:
virtual QString category() const { return QString(); }
virtual void setCategory(const QString &) { }
+ QElapsedTimer elapsedTime;
+
Q_SIGNALS:
void errorChanged(QAudio::Error error);
void stateChanged(QAudio::State state);
@@ -110,7 +111,6 @@ public:
virtual void setBufferSize(int value) = 0;
virtual int bufferSize() const = 0;
virtual qint64 processedUSecs() const = 0;
- virtual qint64 elapsedUSecs() const = 0;
virtual QAudio::Error error() const = 0;
virtual QAudio::State state() const = 0;
virtual void setFormat(const QAudioFormat& fmt) = 0;
@@ -118,11 +118,11 @@ public:
virtual void setVolume(qreal) = 0;
virtual qreal volume() const = 0;
+ QElapsedTimer elapsedTime;
+
Q_SIGNALS:
void errorChanged(QAudio::Error error);
void stateChanged(QAudio::State state);
-
- QElapsedTimer elapsedTime;
};
QT_END_NAMESPACE
diff --git a/src/multimedia/platform/alsa/qalsaaudioinput.cpp b/src/multimedia/platform/alsa/qalsaaudioinput.cpp
index 3035bff55..6c60d7c43 100644
--- a/src/multimedia/platform/alsa/qalsaaudioinput.cpp
+++ b/src/multimedia/platform/alsa/qalsaaudioinput.cpp
@@ -260,7 +260,6 @@ bool QAlsaAudioInput::open()
QTime now(QTime::currentTime());
qDebug()<<now.second()<<"s "<<now.msec()<<"ms :open()";
#endif
- clockStamp.restart();
elapsedTimeOffset = 0;
int dir;
@@ -701,14 +700,6 @@ bool QAlsaAudioInput::deviceReady()
return true;
}
-qint64 QAlsaAudioInput::elapsedUSecs() const
-{
- if (deviceState == QAudio::StoppedState)
- return 0;
-
- return clockStamp.elapsed() * qint64(1000);
-}
-
void QAlsaAudioInput::reset()
{
if(handle)
diff --git a/src/multimedia/platform/alsa/qalsaaudioinput_p.h b/src/multimedia/platform/alsa/qalsaaudioinput_p.h
index 15e1f5b66..bc749beca 100644
--- a/src/multimedia/platform/alsa/qalsaaudioinput_p.h
+++ b/src/multimedia/platform/alsa/qalsaaudioinput_p.h
@@ -114,7 +114,6 @@ public:
void setBufferSize(int value) override;
int bufferSize() const override;
qint64 processedUSecs() const override;
- qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
QAudio::State state() const override;
void setFormat(const QAudioFormat& fmt) override;
@@ -142,7 +141,6 @@ private:
void drain();
QTimer* timer;
- QElapsedTimer clockStamp;
qint64 elapsedTimeOffset;
RingBuffer ringBuffer;
int bytesAvailable;
diff --git a/src/multimedia/platform/alsa/qalsaaudiooutput.cpp b/src/multimedia/platform/alsa/qalsaaudiooutput.cpp
index d3682b429..054e9118d 100644
--- a/src/multimedia/platform/alsa/qalsaaudiooutput.cpp
+++ b/src/multimedia/platform/alsa/qalsaaudiooutput.cpp
@@ -451,7 +451,6 @@ bool QAlsaAudioOutput::open()
// Step 6: Start audio processing
timer->start(period_time/1000);
- clockStamp.restart();
timeStamp.restart();
elapsedTimeOffset = 0;
errorState = QAudio::NoError;
@@ -708,14 +707,6 @@ bool QAlsaAudioOutput::deviceReady()
return true;
}
-qint64 QAlsaAudioOutput::elapsedUSecs() const
-{
- if (deviceState == QAudio::StoppedState)
- return 0;
-
- return clockStamp.elapsed() * qint64(1000);
-}
-
void QAlsaAudioOutput::reset()
{
if(handle)
diff --git a/src/multimedia/platform/alsa/qalsaaudiooutput_p.h b/src/multimedia/platform/alsa/qalsaaudiooutput_p.h
index 2dff0d7a3..0a8e3187a 100644
--- a/src/multimedia/platform/alsa/qalsaaudiooutput_p.h
+++ b/src/multimedia/platform/alsa/qalsaaudiooutput_p.h
@@ -88,7 +88,6 @@ public:
void setBufferSize(int value) override;
int bufferSize() const override;
qint64 processedUSecs() const override;
- qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
QAudio::State state() const override;
void setFormat(const QAudioFormat& fmt) override;
@@ -129,7 +128,6 @@ private:
QTimer* timer;
QByteArray m_device;
int bytesAvailable;
- QElapsedTimer clockStamp;
qint64 elapsedTimeOffset;
char* audioBuffer;
snd_pcm_t* handle;
diff --git a/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp b/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp
index f815bcd6b..f8b972b93 100644
--- a/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp
+++ b/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp
@@ -212,7 +212,6 @@ bool QOpenSLESAudioInput::startRecording()
return false;
m_processedBytes = 0;
- m_clockStamp.restart();
m_lastNotifyTime = 0;
SLresult result;
@@ -504,14 +503,6 @@ qint64 QOpenSLESAudioInput::processedUSecs() const
return m_format.durationForBytes(m_processedBytes);
}
-qint64 QOpenSLESAudioInput::elapsedUSecs() const
-{
- if (m_deviceState == QAudio::StoppedState)
- return 0;
-
- return m_clockStamp.elapsed() * qint64(1000);
-}
-
void QOpenSLESAudioInput::setVolume(qreal vol)
{
m_volume = vol;
diff --git a/src/multimedia/platform/android/audio/qopenslesaudioinput_p.h b/src/multimedia/platform/android/audio/qopenslesaudioinput_p.h
index 61492f6f1..2f24772d3 100644
--- a/src/multimedia/platform/android/audio/qopenslesaudioinput_p.h
+++ b/src/multimedia/platform/android/audio/qopenslesaudioinput_p.h
@@ -90,7 +90,6 @@ public:
void setBufferSize(int value);
int bufferSize() const;
qint64 processedUSecs() const;
- qint64 elapsedUSecs() const;
QAudio::Error error() const;
QAudio::State state() const;
void setFormat(const QAudioFormat &format);
@@ -127,7 +126,6 @@ private:
QAudioFormat m_format;
QAudio::Error m_errorState;
QAudio::State m_deviceState;
- QElapsedTimer m_clockStamp;
qint64 m_lastNotifyTime;
qreal m_volume;
int m_bufferSize;
diff --git a/src/multimedia/platform/android/audio/qopenslesaudiooutput.cpp b/src/multimedia/platform/android/audio/qopenslesaudiooutput.cpp
index e151adc70..dd9f38550 100644
--- a/src/multimedia/platform/android/audio/qopenslesaudiooutput.cpp
+++ b/src/multimedia/platform/android/audio/qopenslesaudiooutput.cpp
@@ -261,14 +261,6 @@ void QOpenSLESAudioOutput::suspend()
setError(QAudio::NoError);
}
-qint64 QOpenSLESAudioOutput::elapsedUSecs() const
-{
- if (m_state == QAudio::StoppedState)
- return 0;
-
- return m_clockStamp.elapsed() * qint64(1000);
-}
-
void QOpenSLESAudioOutput::reset()
{
destroyPlayer();
@@ -546,7 +538,6 @@ bool QOpenSLESAudioOutput::preparePlayer()
if (!m_buffers)
m_buffers = new char[BUFFER_COUNT * m_bufferSize];
- m_clockStamp.restart();
setError(QAudio::NoError);
m_startRequiresInit = false;
diff --git a/src/multimedia/platform/android/audio/qopenslesaudiooutput_p.h b/src/multimedia/platform/android/audio/qopenslesaudiooutput_p.h
index a1042af42..197115887 100644
--- a/src/multimedia/platform/android/audio/qopenslesaudiooutput_p.h
+++ b/src/multimedia/platform/android/audio/qopenslesaudiooutput_p.h
@@ -79,7 +79,6 @@ public:
void setBufferSize(int value) override;
int bufferSize() const override;
qint64 processedUSecs() const override;
- qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
QAudio::State state() const override;
void setFormat(const QAudioFormat &format) override;
@@ -134,7 +133,6 @@ private:
bool m_startRequiresInit;
qint32 m_streamType;
- QElapsedTimer m_clockStamp;
QAudioFormat m_format;
QString m_category;
static QMap<QString, qint32> m_categories;
diff --git a/src/multimedia/platform/darwin/audio/qcoreaudioinput.mm b/src/multimedia/platform/darwin/audio/qcoreaudioinput.mm
index 74788cf9f..240786b4f 100644
--- a/src/multimedia/platform/darwin/audio/qcoreaudioinput.mm
+++ b/src/multimedia/platform/darwin/audio/qcoreaudioinput.mm
@@ -455,7 +455,6 @@ CoreAudioInput::CoreAudioInput(const QAudioDeviceInfo &device)
, m_totalFrames(0)
, m_audioUnit(0)
, m_clockFrequency(CoreAudioUtils::frequency() / 1000)
- , m_startTime(0)
, m_errorCode(QAudio::NoError)
, m_stateCode(QAudio::StoppedState)
, m_audioBuffer(0)
@@ -703,7 +702,6 @@ void CoreAudioInput::start(QIODevice *device)
op = m_audioIO;
// Start
- m_startTime = CoreAudioUtils::currentTime();
m_totalFrames = 0;
m_stateCode = QAudio::IdleState;
@@ -732,7 +730,6 @@ QIODevice *CoreAudioInput::start()
op = m_audioIO;
// Start
- m_startTime = CoreAudioUtils::currentTime();
m_totalFrames = 0;
m_stateCode = QAudio::IdleState;
@@ -829,16 +826,6 @@ qint64 CoreAudioInput::processedUSecs() const
return m_totalFrames * 1000000 / m_audioFormat.sampleRate();
}
-
-qint64 CoreAudioInput::elapsedUSecs() const
-{
- if (m_stateCode == QAudio::StoppedState)
- return 0;
-
- return (CoreAudioUtils::currentTime() - m_startTime) / (m_clockFrequency / 1000);
-}
-
-
QAudio::Error CoreAudioInput::error() const
{
return m_errorCode;
diff --git a/src/multimedia/platform/darwin/audio/qcoreaudioinput_p.h b/src/multimedia/platform/darwin/audio/qcoreaudioinput_p.h
index 1a66791ef..a898b817b 100644
--- a/src/multimedia/platform/darwin/audio/qcoreaudioinput_p.h
+++ b/src/multimedia/platform/darwin/audio/qcoreaudioinput_p.h
@@ -206,7 +206,6 @@ public:
void setBufferSize(int value);
int bufferSize() const;
qint64 processedUSecs() const;
- qint64 elapsedUSecs() const;
QAudio::Error error() const;
QAudio::State state() const;
void setFormat(const QAudioFormat &format);
@@ -259,7 +258,6 @@ private:
AudioDeviceID m_audioDeviceId;
#endif
Float64 m_clockFrequency;
- UInt64 m_startTime;
QAudio::Error m_errorCode;
QAudio::State m_stateCode;
QCoreAudioInputBuffer *m_audioBuffer;
diff --git a/src/multimedia/platform/darwin/audio/qcoreaudiooutput.mm b/src/multimedia/platform/darwin/audio/qcoreaudiooutput.mm
index 16e333513..77594293e 100644
--- a/src/multimedia/platform/darwin/audio/qcoreaudiooutput.mm
+++ b/src/multimedia/platform/darwin/audio/qcoreaudiooutput.mm
@@ -228,7 +228,6 @@ QCoreAudioOutput::QCoreAudioOutput(const QAudioDeviceInfo &device)
, m_totalFrames(0)
, m_audioIO(0)
, m_audioUnit(0)
- , m_startTime(0)
, m_audioBuffer(0)
, m_cachedVolume(1.0)
, m_volume(1.0)
@@ -280,7 +279,6 @@ void QCoreAudioOutput::start(QIODevice *device)
m_pullMode = true;
m_errorCode = QAudio::NoError;
m_totalFrames = 0;
- m_startTime = CoreAudioUtils::currentTime();
if (m_stateCode == QAudio::ActiveState)
audioThreadStart();
@@ -306,7 +304,6 @@ QIODevice *QCoreAudioOutput::start()
m_pullMode = false;
m_errorCode = QAudio::NoError;
m_totalFrames = 0;
- m_startTime = CoreAudioUtils::currentTime();
emit stateChanged(m_stateCode);
@@ -387,14 +384,6 @@ qint64 QCoreAudioOutput::processedUSecs() const
return m_totalFrames * 1000000 / m_audioFormat.sampleRate();
}
-qint64 QCoreAudioOutput::elapsedUSecs() const
-{
- if (m_stateCode == QAudio::StoppedState)
- return 0;
-
- return (CoreAudioUtils::currentTime() - m_startTime) / (m_clockFrequency / 1000);
-}
-
QAudio::Error QCoreAudioOutput::error() const
{
return m_errorCode;
diff --git a/src/multimedia/platform/darwin/audio/qcoreaudiooutput_p.h b/src/multimedia/platform/darwin/audio/qcoreaudiooutput_p.h
index b37a3f3d3..107f30886 100644
--- a/src/multimedia/platform/darwin/audio/qcoreaudiooutput_p.h
+++ b/src/multimedia/platform/darwin/audio/qcoreaudiooutput_p.h
@@ -139,7 +139,6 @@ public:
void setBufferSize(int value);
int bufferSize() const;
qint64 processedUSecs() const;
- qint64 elapsedUSecs() const;
QAudio::Error error() const;
QAudio::State state() const;
void setFormat(const QAudioFormat &format);
@@ -195,7 +194,6 @@ private:
#endif
AudioUnit m_audioUnit;
Float64 m_clockFrequency;
- UInt64 m_startTime;
AudioStreamBasicDescription m_streamFormat;
QCoreAudioOutputBuffer *m_audioBuffer;
QAtomicInt m_audioThreadState;
diff --git a/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer.cpp b/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer.cpp
index 5c5c11491..45ffb5006 100644
--- a/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer.cpp
+++ b/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer.cpp
@@ -200,7 +200,6 @@ bool QGStreamerAudioInput::open()
m_opened = true;
- m_clockStamp.restart();
m_timeStamp.restart();
m_elapsedTimeOffset = 0;
m_totalTimeValue = 0;
@@ -307,14 +306,6 @@ void QGStreamerAudioInput::suspend()
}
}
-qint64 QGStreamerAudioInput::elapsedUSecs() const
-{
- if (m_deviceState == QAudio::StoppedState)
- return 0;
-
- return m_clockStamp.elapsed() * qint64(1000);
-}
-
void QGStreamerAudioInput::reset()
{
stop();
@@ -378,6 +369,7 @@ GStreamerInputPrivate::GStreamerInputPrivate(QGStreamerAudioInput *audio)
qint64 GStreamerInputPrivate::readData(char *data, qint64 len)
{
+ m_audioDevice->setState(QAudio::ActiveState);
return m_audioDevice->m_buffer.read(data, len);
}
diff --git a/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer_p.h b/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer_p.h
index 4bab9079b..6830d535d 100644
--- a/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer_p.h
+++ b/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer_p.h
@@ -89,7 +89,6 @@ public:
void setBufferSize(int value) override;
int bufferSize() const override;
qint64 processedUSecs() const override;
- qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
QAudio::State state() const override;
void setFormat(const QAudioFormat &format) override;
@@ -125,7 +124,6 @@ private:
int m_bufferSize = 0;
qint64 m_elapsedTimeOffset = 0;
QElapsedTimer m_timeStamp;
- QElapsedTimer m_clockStamp;
QByteArray m_device;
QByteArray m_tempBuffer;
diff --git a/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp b/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp
index 9a92d3935..ca784d80f 100644
--- a/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp
+++ b/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp
@@ -226,7 +226,6 @@ bool QGStreamerAudioOutput::open()
m_elapsedTimeOffset = 0;
m_timeStamp.restart();
- m_clockStamp.restart();
return true;
}
@@ -333,14 +332,6 @@ void QGStreamerAudioOutput::suspend()
}
}
-qint64 QGStreamerAudioOutput::elapsedUSecs() const
-{
- if (m_deviceState == QAudio::StoppedState)
- return 0;
-
- return m_clockStamp.elapsed() * qint64(1000);
-}
-
void QGStreamerAudioOutput::reset()
{
stop();
diff --git a/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer_p.h b/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer_p.h
index a756fa584..7f06748b2 100644
--- a/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer_p.h
+++ b/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer_p.h
@@ -90,7 +90,6 @@ public:
void setBufferSize(int value) override;
int bufferSize() const override;
qint64 processedUSecs() const override;
- qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
QAudio::State state() const override;
void setFormat(const QAudioFormat &format) override;
@@ -123,7 +122,6 @@ private:
QRingBuffer m_buffer;
QTimer m_periodTimer;
int m_bufferSize = 0;
- QElapsedTimer m_clockStamp;
qint64 m_totalTimeValue = 0;
QElapsedTimer m_timeStamp;
qint64 m_elapsedTimeOffset = 0;
diff --git a/src/multimedia/platform/pulseaudio/qaudioinput_pulse.cpp b/src/multimedia/platform/pulseaudio/qaudioinput_pulse.cpp
index 0efef06f4..fc913e6d2 100644
--- a/src/multimedia/platform/pulseaudio/qaudioinput_pulse.cpp
+++ b/src/multimedia/platform/pulseaudio/qaudioinput_pulse.cpp
@@ -342,7 +342,6 @@ bool QPulseAudioInput::open()
m_opened = true;
m_timer->start(m_periodTime);
- m_clockStamp.restart();
m_elapsedTimeOffset = 0;
m_totalTimeValue = 0;
@@ -610,14 +609,6 @@ bool QPulseAudioInput::deviceReady()
return true;
}
-qint64 QPulseAudioInput::elapsedUSecs() const
-{
- if (m_deviceState == QAudio::StoppedState)
- return 0;
-
- return m_clockStamp.elapsed() * qint64(1000);
-}
-
void QPulseAudioInput::reset()
{
stop();
diff --git a/src/multimedia/platform/pulseaudio/qaudioinput_pulse_p.h b/src/multimedia/platform/pulseaudio/qaudioinput_pulse_p.h
index 41770f337..d4b60eb94 100644
--- a/src/multimedia/platform/pulseaudio/qaudioinput_pulse_p.h
+++ b/src/multimedia/platform/pulseaudio/qaudioinput_pulse_p.h
@@ -89,7 +89,6 @@ public:
void setBufferSize(int value) override;
int bufferSize() const override;
qint64 processedUSecs() const override;
- qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
QAudio::State state() const override;
void setFormat(const QAudioFormat &format) override;
@@ -129,7 +128,6 @@ private:
QTimer *m_timer;
qint64 m_elapsedTimeOffset;
pa_stream *m_stream;
- QElapsedTimer m_clockStamp;
QByteArray m_streamName;
QByteArray m_device;
QByteArray m_tempBuffer;
diff --git a/src/multimedia/platform/pulseaudio/qaudiooutput_pulse.cpp b/src/multimedia/platform/pulseaudio/qaudiooutput_pulse.cpp
index a8dda1fa0..5ce3da07b 100644
--- a/src/multimedia/platform/pulseaudio/qaudiooutput_pulse.cpp
+++ b/src/multimedia/platform/pulseaudio/qaudiooutput_pulse.cpp
@@ -406,7 +406,6 @@ bool QPulseAudioOutput::open()
m_tickTimer->start(m_periodTime);
m_elapsedTimeOffset = 0;
- m_clockStamp.restart();
return true;
}
@@ -636,14 +635,6 @@ void QPulseAudioOutput::suspend()
}
}
-qint64 QPulseAudioOutput::elapsedUSecs() const
-{
- if (m_deviceState == QAudio::StoppedState)
- return 0;
-
- return m_clockStamp.elapsed() * qint64(1000);
-}
-
void QPulseAudioOutput::reset()
{
stop();
diff --git a/src/multimedia/platform/pulseaudio/qaudiooutput_pulse_p.h b/src/multimedia/platform/pulseaudio/qaudiooutput_pulse_p.h
index 4bcbcd576..1d77178b0 100644
--- a/src/multimedia/platform/pulseaudio/qaudiooutput_pulse_p.h
+++ b/src/multimedia/platform/pulseaudio/qaudiooutput_pulse_p.h
@@ -86,7 +86,6 @@ public:
void setBufferSize(int value) override;
int bufferSize() const override;
qint64 processedUSecs() const override;
- qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
QAudio::State state() const override;
void setFormat(const QAudioFormat &format) override;
@@ -128,7 +127,6 @@ private:
int m_periodSize;
int m_bufferSize;
int m_maxBufferSize;
- QElapsedTimer m_clockStamp;
qint64 m_totalTimeValue;
QTimer *m_tickTimer;
char *m_audioBuffer;
diff --git a/src/multimedia/platform/qnx/audio/qnxaudioinput.cpp b/src/multimedia/platform/qnx/audio/qnxaudioinput.cpp
index bf36a0aad..70245bcc3 100644
--- a/src/multimedia/platform/qnx/audio/qnxaudioinput.cpp
+++ b/src/multimedia/platform/qnx/audio/qnxaudioinput.cpp
@@ -180,14 +180,6 @@ qint64 QnxAudioInput::processedUSecs() const
return qint64(1000000) * m_format.framesForBytes(m_bytesRead) / m_format.sampleRate();
}
-qint64 QnxAudioInput::elapsedUSecs() const
-{
- if (m_state == QAudio::StoppedState)
- return 0;
-
- return m_clockStamp.elapsed() * qint64(1000);
-}
-
QAudio::Error QnxAudioInput::error() const
{
return m_error;
@@ -306,7 +298,6 @@ bool QnxAudioInput::open()
m_periodSize = qMin(2048, setup.buf.block.frag_size);
- m_clockStamp.restart();
m_elapsedTimeOffset = 0;
m_totalTimeValue = 0;
m_bytesRead = 0;
diff --git a/src/multimedia/platform/qnx/audio/qnxaudioinput_p.h b/src/multimedia/platform/qnx/audio/qnxaudioinput_p.h
index 86b21f667..99323d1f6 100644
--- a/src/multimedia/platform/qnx/audio/qnxaudioinput_p.h
+++ b/src/multimedia/platform/qnx/audio/qnxaudioinput_p.h
@@ -81,7 +81,6 @@ public:
void setBufferSize(int ) override;
int bufferSize() const override;
qint64 processedUSecs() const override;
- qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
QAudio::State state() const override;
void setFormat(const QAudioFormat&) override;
@@ -102,7 +101,6 @@ private:
void setError(QAudio::Error error);
void setState(QAudio::State state);
- QElapsedTimer m_clockStamp;
QAudioFormat m_format;
QIODevice *m_audioSource;
diff --git a/src/multimedia/platform/qnx/audio/qnxaudiooutput.cpp b/src/multimedia/platform/qnx/audio/qnxaudiooutput.cpp
index 373d04237..a56ce7c70 100644
--- a/src/multimedia/platform/qnx/audio/qnxaudiooutput.cpp
+++ b/src/multimedia/platform/qnx/audio/qnxaudiooutput.cpp
@@ -132,15 +132,13 @@ void QnxAudioOutput::reset()
void QnxAudioOutput::suspend()
{
snd_pcm_playback_pause(m_pcmHandle);
- if (state() != QAudio::InterruptedState)
- suspendInternal(QAudio::SuspendedState);
+ suspendInternal(QAudio::SuspendedState);
}
void QnxAudioOutput::resume()
{
snd_pcm_playback_resume(m_pcmHandle);
- if (state() != QAudio::InterruptedState)
- resumeInternal();
+ resumeInternal();
}
int QnxAudioOutput::bytesFree() const
@@ -169,14 +167,6 @@ qint64 QnxAudioOutput::processedUSecs() const
return qint64(1000000) * m_format.framesForBytes(m_bytesWritten) / m_format.sampleRate();
}
-qint64 QnxAudioOutput::elapsedUSecs() const
-{
- if (m_state == QAudio::StoppedState)
- return 0;
- else
- return m_startTimeStamp.elapsed() * qint64(1000);
-}
-
QAudio::Error QnxAudioOutput::error() const
{
return m_error;
@@ -221,8 +211,7 @@ QString QnxAudioOutput::category() const
void QnxAudioOutput::pullData()
{
if (m_state == QAudio::StoppedState
- || m_state == QAudio::SuspendedState
- || m_state == QAudio::InterruptedState)
+ || m_state == QAudio::SuspendedState)
return;
const int bytesAvailable = bytesFree();
@@ -329,7 +318,6 @@ bool QnxAudioOutput::open()
}
m_periodSize = qMin(2048, setup.buf.block.frag_size);
- m_startTimeStamp.restart();
m_bytesWritten = 0;
createPcmNotifiers();
@@ -431,8 +419,7 @@ QAudio::State suspendState(const snd_pcm_event_t &event)
{
Q_ASSERT(event.type == SND_PCM_EVENT_AUDIOMGMT_STATUS);
Q_ASSERT(event.data.audiomgmt_status.new_status == SND_PCM_STATUS_SUSPENDED);
- return event.data.audiomgmt_status.flags & SND_PCM_STATUS_EVENT_HARD_SUSPEND
- ? QAudio::InterruptedState : QAudio::SuspendedState;
+ return QAudio::SuspendedState;
}
void QnxAudioOutput::addPcmEventFilter()
diff --git a/src/multimedia/platform/qnx/audio/qnxaudiooutput_p.h b/src/multimedia/platform/qnx/audio/qnxaudiooutput_p.h
index 0a9228d36..38b590a79 100644
--- a/src/multimedia/platform/qnx/audio/qnxaudiooutput_p.h
+++ b/src/multimedia/platform/qnx/audio/qnxaudiooutput_p.h
@@ -84,7 +84,6 @@ public:
void setBufferSize(int) override {}
int bufferSize() const override { return 0; }
qint64 processedUSecs() const override;
- qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
QAudio::State state() const override;
void setFormat(const QAudioFormat &format) override;
@@ -127,7 +126,6 @@ private:
snd_pcm_t *m_pcmHandle;
qint64 m_bytesWritten;
- QElapsedTimer m_startTimeStamp;
#if _NTO_VERSION >= 700
QSocketNotifier *m_pcmNotifier;
diff --git a/src/multimedia/platform/windows/audio/qwindowsaudioinput.cpp b/src/multimedia/platform/windows/audio/qwindowsaudioinput.cpp
index 65d15ef96..173aec2da 100644
--- a/src/multimedia/platform/windows/audio/qwindowsaudioinput.cpp
+++ b/src/multimedia/platform/windows/audio/qwindowsaudioinput.cpp
@@ -367,7 +367,6 @@ bool QWindowsAudioInput::open()
emit stateChanged(deviceState);
return false;
}
- timeStampOpened.restart();
elapsedTimeOffset = 0;
totalTimeValue = 0;
errorState = QAudio::NoError;
@@ -659,14 +658,6 @@ bool QWindowsAudioInput::deviceReady()
return true;
}
-qint64 QWindowsAudioInput::elapsedUSecs() const
-{
- if (deviceState == QAudio::StoppedState)
- return 0;
-
- return timeStampOpened.elapsed() * qint64(1000);
-}
-
void QWindowsAudioInput::reset()
{
stop();
diff --git a/src/multimedia/platform/windows/audio/qwindowsaudioinput_p.h b/src/multimedia/platform/windows/audio/qwindowsaudioinput_p.h
index 459c36f56..4e8ae0b93 100644
--- a/src/multimedia/platform/windows/audio/qwindowsaudioinput_p.h
+++ b/src/multimedia/platform/windows/audio/qwindowsaudioinput_p.h
@@ -100,7 +100,6 @@ public:
void setBufferSize(int value);
int bufferSize() const;
qint64 processedUSecs() const;
- qint64 elapsedUSecs() const;
QAudio::Error error() const;
QAudio::State state() const;
void setVolume(qreal volume);
@@ -118,7 +117,6 @@ private:
int m_deviceId;
int bytesAvailable;
qint64 elapsedTimeOffset;
- QElapsedTimer timeStampOpened;
qint64 totalTimeValue;
bool pullMode;
bool resuming;
diff --git a/src/multimedia/platform/windows/audio/qwindowsaudiooutput.cpp b/src/multimedia/platform/windows/audio/qwindowsaudiooutput.cpp
index 3c805f780..b81be9667 100644
--- a/src/multimedia/platform/windows/audio/qwindowsaudiooutput.cpp
+++ b/src/multimedia/platform/windows/audio/qwindowsaudiooutput.cpp
@@ -285,7 +285,6 @@ bool QWindowsAudioOutput::open()
}
totalTimeValue = 0;
- timeStampOpened.restart();
elapsedTimeOffset = 0;
errorState = QAudio::NoError;
@@ -542,14 +541,6 @@ bool QWindowsAudioOutput::deviceReady()
return true;
}
-qint64 QWindowsAudioOutput::elapsedUSecs() const
-{
- if (deviceState == QAudio::StoppedState)
- return 0;
-
- return timeStampOpened.elapsed() * qint64(1000);
-}
-
QAudio::Error QWindowsAudioOutput::error() const
{
return errorState;
diff --git a/src/multimedia/platform/windows/audio/qwindowsaudiooutput_p.h b/src/multimedia/platform/windows/audio/qwindowsaudiooutput_p.h
index 983287a4c..011a9686e 100644
--- a/src/multimedia/platform/windows/audio/qwindowsaudiooutput_p.h
+++ b/src/multimedia/platform/windows/audio/qwindowsaudiooutput_p.h
@@ -98,7 +98,6 @@ public:
void setBufferSize(int value);
int bufferSize() const;
qint64 processedUSecs() const;
- qint64 elapsedUSecs() const;
QAudio::Error error() const;
QAudio::State state() const;
void setVolume(qreal);
@@ -118,7 +117,6 @@ private:
int m_deviceId;
int bytesAvailable;
qint64 elapsedTimeOffset;
- QElapsedTimer timeStampOpened;
qint32 buffer_size;
qint32 period_size;
qint32 blocks_count;