summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2021-04-07 15:18:17 +0200
committerLars Knoll <lars.knoll@qt.io>2021-04-08 12:19:52 +0000
commit77acd3cb4a1974d88e795a3369d74eccfd730e4f (patch)
tree90c20769b3c2e3f8e37544f91bd476d7b84768ab
parent1730f47fe18772f48b42b8e4dbec527889ae2ef3 (diff)
Remove the notifyInterval() functionality
This was nothing else than a timer, something you can just as well implement on top of Qt Multimedia if required. Change-Id: I1ef362f1f4ad5a5f85e92bfbb1d73b7710271e5c Reviewed-by: Doris Verria <doris.verria@qt.io> Reviewed-by: Lars Knoll <lars.knoll@qt.io>
-rw-r--r--examples/multimedia/spectrum/app/engine.cpp14
-rw-r--r--examples/multimedia/spectrum/app/engine.h2
-rw-r--r--src/imports/multimedia/Video.qml13
-rw-r--r--src/imports/multimedia/plugins.qmltypes2
-rw-r--r--src/imports/multimedia/qdeclarativeaudio.cpp45
-rw-r--r--src/imports/multimedia/qdeclarativeaudio_p.h5
-rw-r--r--src/multimedia/audio/qaudioinput.cpp29
-rw-r--r--src/multimedia/audio/qaudioinput.h4
-rw-r--r--src/multimedia/audio/qaudiooutput.cpp38
-rw-r--r--src/multimedia/audio/qaudiooutput.h4
-rw-r--r--src/multimedia/audio/qaudiosystem.cpp37
-rw-r--r--src/multimedia/audio/qaudiosystem_p.h6
-rw-r--r--src/multimedia/platform/alsa/qalsaaudioinput.cpp17
-rw-r--r--src/multimedia/platform/alsa/qalsaaudioinput_p.h4
-rw-r--r--src/multimedia/platform/alsa/qalsaaudiooutput.cpp16
-rw-r--r--src/multimedia/platform/alsa/qalsaaudiooutput_p.h4
-rw-r--r--src/multimedia/platform/android/audio/qopenslesaudioinput.cpp18
-rw-r--r--src/multimedia/platform/android/audio/qopenslesaudioinput_p.h3
-rw-r--r--src/multimedia/platform/android/audio/qopenslesaudiooutput.cpp42
-rw-r--r--src/multimedia/platform/android/audio/qopenslesaudiooutput_p.h3
-rw-r--r--src/multimedia/platform/darwin/audio/qcoreaudioinput.mm26
-rw-r--r--src/multimedia/platform/darwin/audio/qcoreaudioinput_p.h3
-rw-r--r--src/multimedia/platform/darwin/audio/qcoreaudiooutput.mm24
-rw-r--r--src/multimedia/platform/darwin/audio/qcoreaudiooutput_p.h3
-rw-r--r--src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer.cpp10
-rw-r--r--src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer_p.h3
-rw-r--r--src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp10
-rw-r--r--src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer_p.h3
-rw-r--r--src/multimedia/platform/gstreamer/common/qgstvideorenderersink.cpp2
-rw-r--r--src/multimedia/platform/pulseaudio/qaudioinput_pulse.cpp24
-rw-r--r--src/multimedia/platform/pulseaudio/qaudioinput_pulse_p.h4
-rw-r--r--src/multimedia/platform/pulseaudio/qaudiooutput_pulse.cpp17
-rw-r--r--src/multimedia/platform/pulseaudio/qaudiooutput_pulse_p.h4
-rw-r--r--src/multimedia/platform/qnx/audio/qnxaudioinput.cpp18
-rw-r--r--src/multimedia/platform/qnx/audio/qnxaudioinput_p.h4
-rw-r--r--src/multimedia/platform/qnx/audio/qnxaudiooutput.cpp20
-rw-r--r--src/multimedia/platform/qnx/audio/qnxaudiooutput_p.h5
-rw-r--r--src/multimedia/platform/windows/audio/qwindowsaudioinput.cpp17
-rw-r--r--src/multimedia/platform/windows/audio/qwindowsaudioinput_p.h4
-rw-r--r--src/multimedia/platform/windows/audio/qwindowsaudiooutput.cpp25
-rw-r--r--src/multimedia/platform/windows/audio/qwindowsaudiooutput_p.h4
-rw-r--r--src/multimedia/playback/qmediaplayer.cpp109
-rw-r--r--src/multimedia/playback/qmediaplayer.h10
-rw-r--r--src/multimedia/playback/qmediaplayer_p.h6
-rw-r--r--src/multimedia/video/qvideotexturehelper.cpp34
-rw-r--r--tests/auto/integration/qaudioinput/tst_qaudioinput.cpp77
-rw-r--r--tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp71
-rw-r--r--tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp4
-rw-r--r--tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp195
49 files changed, 47 insertions, 995 deletions
diff --git a/examples/multimedia/spectrum/app/engine.cpp b/examples/multimedia/spectrum/app/engine.cpp
index 6451e940c..81cc104c1 100644
--- a/examples/multimedia/spectrum/app/engine.cpp
+++ b/examples/multimedia/spectrum/app/engine.cpp
@@ -133,6 +133,11 @@ Engine::Engine(QObject *parent)
#ifdef DUMP_SPECTRUM
m_spectrumAnalyser.setOutputPath(outputPath());
#endif
+
+ m_notifyTimer = new QTimer(this);
+ m_notifyTimer->setInterval(1000);
+ connect(m_notifyTimer, &QTimer::timeout, this, &Engine::audioNotify);
+
}
Engine::~Engine() = default;
@@ -243,8 +248,6 @@ void Engine::startRecording()
m_mode = QAudio::AudioInput;
connect(m_audioInput, &QAudioInput::stateChanged,
this, &Engine::audioStateChanged);
- connect(m_audioInput, &QAudioInput::notify,
- this, &Engine::audioNotify);
m_count = 0;
m_dataLength = 0;
@@ -253,6 +256,7 @@ void Engine::startRecording()
connect(m_audioInputIODevice, &QIODevice::readyRead,
this, &Engine::audioDataReady);
}
+ m_notifyTimer->start();
}
}
@@ -276,8 +280,6 @@ void Engine::startPlayback()
m_mode = QAudio::AudioOutput;
connect(m_audioOutput, &QAudioOutput::stateChanged,
this, &Engine::audioStateChanged);
- connect(m_audioOutput, &QAudioOutput::notify,
- this, &Engine::audioNotify);
m_count = 0;
if (m_file) {
@@ -292,6 +294,7 @@ void Engine::startPlayback()
m_audioOutput->start(&m_audioOutputIODevice);
}
}
+ m_notifyTimer->start();
}
}
@@ -307,6 +310,7 @@ void Engine::suspend()
m_audioOutput->suspend();
break;
}
+ m_notifyTimer->stop();
}
}
@@ -515,12 +519,10 @@ bool Engine::initialize()
} else {
emit bufferChanged(0, 0, m_buffer);
m_audioInput = new QAudioInput(m_audioInputDevice, m_format, this);
- m_audioInput->setNotifyInterval(NotifyIntervalMs);
result = true;
}
}
m_audioOutput = new QAudioOutput(m_audioOutputDevice, m_format, this);
- m_audioOutput->setNotifyInterval(NotifyIntervalMs);
m_audioOutput->setCategory(m_audioOutputCategory);
}
} else {
diff --git a/examples/multimedia/spectrum/app/engine.h b/examples/multimedia/spectrum/app/engine.h
index 5884860c3..f403afb80 100644
--- a/examples/multimedia/spectrum/app/engine.h
+++ b/examples/multimedia/spectrum/app/engine.h
@@ -63,6 +63,7 @@
#include <QObject>
#include <QMediaDeviceManager>
#include <QWaveDecoder>
+#include <QTimer>
#ifdef DUMP_CAPTURED_AUDIO
#define DUMP_DATA
@@ -318,6 +319,7 @@ private:
qint64 m_spectrumPosition;
int m_count;
+ QTimer *m_notifyTimer = nullptr;
#ifdef DUMP_DATA
QDir m_outputDir;
diff --git a/src/imports/multimedia/Video.qml b/src/imports/multimedia/Video.qml
index 45e0ec7e8..929fdda98 100644
--- a/src/imports/multimedia/Video.qml
+++ b/src/imports/multimedia/Video.qml
@@ -388,19 +388,6 @@ Item {
property alias autoPlay: player.autoPlay
/*!
- \qmlproperty int Video::notifyInterval
-
- The interval at which notifiable properties will update.
-
- The notifiable properties are \l position and \l bufferProgress.
-
- The interval is expressed in milliseconds, the default value is 1000.
-
- \since 5.9
- */
- property alias notifyInterval: player.notifyInterval
-
- /*!
\qmlproperty int Video::loops
This property holds the number of times the media is played. A value of \c 0 or \c 1 means
diff --git a/src/imports/multimedia/plugins.qmltypes b/src/imports/multimedia/plugins.qmltypes
index a386e73b0..6bd4664c5 100644
--- a/src/imports/multimedia/plugins.qmltypes
+++ b/src/imports/multimedia/plugins.qmltypes
@@ -462,7 +462,6 @@ Module {
}
Property { name: "availability"; type: "Availability"; isReadonly: true }
Property { name: "audioRole"; revision: 1; type: "AudioRole" }
- Property { name: "notifyInterval"; revision: 2; type: "int" }
Property { name: "videoOutput"; revision: 15; type: "QVariant" }
Signal { name: "playlistChanged"; revision: 1 }
Signal { name: "loopCountChanged" }
@@ -475,7 +474,6 @@ Module {
Parameter { name: "error"; type: "QDeclarativeAudio::Error" }
Parameter { name: "errorString"; type: "string" }
}
- Signal { name: "notifyIntervalChanged"; revision: 2 }
Signal { name: "videoOutputChanged"; revision: 15 }
Method { name: "play" }
Method { name: "pause" }
diff --git a/src/imports/multimedia/qdeclarativeaudio.cpp b/src/imports/multimedia/qdeclarativeaudio.cpp
index 1c83dfd83..7fe96666c 100644
--- a/src/imports/multimedia/qdeclarativeaudio.cpp
+++ b/src/imports/multimedia/qdeclarativeaudio.cpp
@@ -108,7 +108,6 @@ QDeclarativeAudio::QDeclarativeAudio(QObject *parent)
, m_status(QMediaPlayer::NoMedia)
, m_error(QMediaPlayer::ServiceMissingError)
, m_player(nullptr)
- , m_notifyInterval(1000)
{
}
@@ -233,34 +232,6 @@ void QDeclarativeAudio::setAudioRole(QDeclarativeAudio::AudioRole audioRole)
}
/*!
- \qmlproperty int QtMultimedia::Audio::notifyInterval
-
- The interval at which notifiable properties will update.
-
- The notifiable properties are \l position and \l bufferProgress.
-
- The interval is expressed in milliseconds, the default value is 1000.
-
- \since 5.9
-*/
-int QDeclarativeAudio::notifyInterval() const
-{
- return m_complete ? m_player->notifyInterval() : m_notifyInterval;
-}
-
-void QDeclarativeAudio::setNotifyInterval(int value)
-{
- if (notifyInterval() == value)
- return;
- if (m_complete) {
- m_player->setNotifyInterval(value);
- return;
- }
- m_notifyInterval = value;
- emit notifyIntervalChanged();
-}
-
-/*!
\qmlmethod list<int> QtMultimedia::Audio::supportedAudioRoles()
Returns a list of supported audio roles.
@@ -824,8 +795,6 @@ void QDeclarativeAudio::classBegin()
this, SIGNAL(hasVideoChanged()));
connect(m_player, SIGNAL(audioRoleChanged(QAudio::Role)),
this, SIGNAL(audioRoleChanged()));
- connect(m_player, SIGNAL(notifyIntervalChanged(int)),
- this, SIGNAL(notifyIntervalChanged()));
m_error = !m_player->isAvailable() ? QMediaPlayer::ServiceMissingError : QMediaPlayer::NoError;
@@ -845,8 +814,6 @@ void QDeclarativeAudio::componentComplete()
m_player->setPlaybackRate(m_playbackRate);
if (m_audioRole != UnknownRole)
m_player->setAudioRole(QAudio::Role(m_audioRole));
- if (m_notifyInterval != m_player->notifyInterval())
- m_player->setNotifyInterval(m_notifyInterval);
if (!m_source.isEmpty() && (m_autoLoad || m_autoPlay)) {
m_player->setMedia(m_source, nullptr);
@@ -1162,18 +1129,6 @@ void QDeclarativeAudio::_q_mediaChanged(const QUrl &)
*/
/*!
- \qmlproperty int QtMultimedia::MediaPlayer::notifyInterval
-
- The interval at which notifiable properties will update.
-
- The notifiable properties are \l position and \l bufferProgress.
-
- The interval is expressed in milliseconds, the default value is 1000.
-
- \since 5.9
-*/
-
-/*!
\qmlmethod QtMultimedia::MediaPlayer::play()
Starts playback of the media.
diff --git a/src/imports/multimedia/qdeclarativeaudio_p.h b/src/imports/multimedia/qdeclarativeaudio_p.h
index da6db0885..085d7e60a 100644
--- a/src/imports/multimedia/qdeclarativeaudio_p.h
+++ b/src/imports/multimedia/qdeclarativeaudio_p.h
@@ -87,7 +87,6 @@ class QDeclarativeAudio : public QObject, public QQmlParserStatus
Q_PROPERTY(QString errorString READ errorString NOTIFY errorChanged)
Q_PROPERTY(QDeclarativeMediaMetaData *metaData READ metaData CONSTANT)
Q_PROPERTY(AudioRole audioRole READ audioRole WRITE setAudioRole NOTIFY audioRoleChanged REVISION 1)
- Q_PROPERTY(int notifyInterval READ notifyInterval WRITE setNotifyInterval NOTIFY notifyIntervalChanged REVISION 2)
Q_PROPERTY(QVariant videoOutput READ videoOutput WRITE setVideoOutput NOTIFY videoOutputChanged REVISION 15)
Q_ENUMS(Status)
Q_ENUMS(Error)
@@ -198,8 +197,6 @@ public:
bool autoPlay() const;
void setAutoPlay(bool autoplay);
- int notifyInterval() const;
- void setNotifyInterval(int);
public Q_SLOTS:
void play();
@@ -241,7 +238,6 @@ Q_SIGNALS:
void errorChanged();
void error(QDeclarativeAudio::Error error, const QString &errorString);
- Q_REVISION(2) void notifyIntervalChanged();
Q_REVISION(15) void videoOutputChanged();
private Q_SLOTS:
@@ -273,7 +269,6 @@ private:
QScopedPointer<QDeclarativeMediaMetaData> m_metaData;
QMediaPlayer *m_player;
- int m_notifyInterval;
QVariant m_videoOutput;
friend class QDeclarativeMediaBaseAnimation;
diff --git a/src/multimedia/audio/qaudioinput.cpp b/src/multimedia/audio/qaudioinput.cpp
index c36092495..673133eab 100644
--- a/src/multimedia/audio/qaudioinput.cpp
+++ b/src/multimedia/audio/qaudioinput.cpp
@@ -305,29 +305,6 @@ int QAudioInput::periodSize() const
}
/*!
- Sets the interval for notify() signal to be emitted.
- This is based on the \a ms of audio data processed
- not on actual real-time.
- The minimum resolution of the timer is platform specific and values
- should be checked with notifyInterval() to confirm actual value
- being used.
-*/
-
-void QAudioInput::setNotifyInterval(int ms)
-{
- d->setNotifyInterval(ms);
-}
-
-/*!
- Returns the notify interval in milliseconds.
-*/
-
-int QAudioInput::notifyInterval() const
-{
- return d->notifyInterval();
-}
-
-/*!
Sets the input volume to \a volume.
The volume is scaled linearly from \c 0.0 (silence) to \c 1.0 (full volume). Values outside this
@@ -401,12 +378,6 @@ QAudio::State QAudioInput::state() const
This signal is emitted when the device \a state has changed.
*/
-/*!
- \fn QAudioInput::notify()
- This signal is emitted when x ms of audio data has been processed
- the interval set by setNotifyInterval(x).
-*/
-
QT_END_NAMESPACE
#include "moc_qaudioinput.cpp"
diff --git a/src/multimedia/audio/qaudioinput.h b/src/multimedia/audio/qaudioinput.h
index df7a52b90..8db964866 100644
--- a/src/multimedia/audio/qaudioinput.h
+++ b/src/multimedia/audio/qaudioinput.h
@@ -83,9 +83,6 @@ public:
int bytesReady() const;
int periodSize() const;
- void setNotifyInterval(int milliSeconds);
- int notifyInterval() const;
-
void setVolume(qreal volume);
qreal volume() const;
@@ -97,7 +94,6 @@ public:
Q_SIGNALS:
void stateChanged(QAudio::State state);
- void notify();
private:
Q_DISABLE_COPY(QAudioInput)
diff --git a/src/multimedia/audio/qaudiooutput.cpp b/src/multimedia/audio/qaudiooutput.cpp
index bf6d5e0e0..e15dee4bf 100644
--- a/src/multimedia/audio/qaudiooutput.cpp
+++ b/src/multimedia/audio/qaudiooutput.cpp
@@ -91,16 +91,6 @@ QT_BEGIN_NAMESPACE
a \c { play/pause } button. You request a state change directly
with suspend(), stop(), reset(), resume(), and start().
- While the stream is playing, you can set a notify interval in
- milliseconds with setNotifyInterval(). This interval specifies the
- time between two emissions of the notify() signal. This is
- relative to the position in the stream, i.e., if the QAudioOutput
- is in the SuspendedState or the IdleState, the notify() signal is
- not emitted. A typical use-case would be to update a
- \l{QSlider}{slider} that allows seeking in the stream.
- If you want the time since playback started regardless of which
- states the audio output has been in, elapsedUSecs() is the function for you.
-
If an error occurs, you can fetch the \l{QAudio::Error}{error
type} with the error() function. Please see the QAudio::Error enum
for a description of the possible errors that are reported. When
@@ -293,27 +283,6 @@ int QAudioOutput::bufferSize() const
}
/*!
- Sets the interval for notify() signal to be emitted.
- This is based on the \a ms of audio data processed,
- not on wall clock time.
- The minimum resolution of the timer is platform specific and values
- should be checked with notifyInterval() to confirm the actual value
- being used.
-*/
-void QAudioOutput::setNotifyInterval(int ms)
-{
- d->setNotifyInterval(ms);
-}
-
-/*!
- Returns the notify interval in milliseconds.
-*/
-int QAudioOutput::notifyInterval() const
-{
- return d->notifyInterval();
-}
-
-/*!
Returns the amount of audio data processed since start()
was called (in microseconds).
*/
@@ -416,13 +385,6 @@ void QAudioOutput::setCategory(const QString &category)
This is the current state of the audio output.
*/
-/*!
- \fn QAudioOutput::notify()
- This signal is emitted when a certain interval of milliseconds
- of audio data has been processed. The interval is set by
- setNotifyInterval().
-*/
-
QT_END_NAMESPACE
#include "moc_qaudiooutput.cpp"
diff --git a/src/multimedia/audio/qaudiooutput.h b/src/multimedia/audio/qaudiooutput.h
index bcb76487f..f361af211 100644
--- a/src/multimedia/audio/qaudiooutput.h
+++ b/src/multimedia/audio/qaudiooutput.h
@@ -83,9 +83,6 @@ public:
int bytesFree() const;
int periodSize() const;
- void setNotifyInterval(int milliSeconds);
- int notifyInterval() const;
-
qint64 processedUSecs() const;
qint64 elapsedUSecs() const;
@@ -100,7 +97,6 @@ public:
Q_SIGNALS:
void stateChanged(QAudio::State state);
- void notify();
private:
Q_DISABLE_COPY(QAudioOutput)
diff --git a/src/multimedia/audio/qaudiosystem.cpp b/src/multimedia/audio/qaudiosystem.cpp
index c0ab776ff..f37c35c15 100644
--- a/src/multimedia/audio/qaudiosystem.cpp
+++ b/src/multimedia/audio/qaudiosystem.cpp
@@ -174,18 +174,6 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \fn virtual void QAbstractAudioOutput::setNotifyInterval(int ms)
- Sets the interval for notify() signal to be emitted. This is based on the \a ms
- of audio data processed not on actual real-time. The resolution of the timer
- is platform specific.
-*/
-
-/*!
- \fn virtual int QAbstractAudioOutput::notifyInterval() const
- Returns the notify interval in milliseconds.
-*/
-
-/*!
\fn virtual qint64 QAbstractAudioOutput::processedUSecs() const
Returns the amount of audio data processed since start() was called in milliseconds.
*/
@@ -238,13 +226,6 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \fn QAbstractAudioOutput::notify()
- This signal is emitted when x ms of audio data has been processed
- the interval set by setNotifyInterval(x).
-*/
-
-
-/*!
\class QAbstractAudioInput
\brief The QAbstractAudioInput class provides access for QAudioInput to access the audio
device provided by the plugin.
@@ -313,18 +294,6 @@ QT_BEGIN_NAMESPACE
*/
/*!
- \fn virtual void QAbstractAudioInput::setNotifyInterval(int ms)
- Sets the interval for notify() signal to be emitted. This is based
- on the \a ms of audio data processed not on actual real-time.
- The resolution of the timer is platform specific.
-*/
-
-/*!
- \fn virtual int QAbstractAudioInput::notifyInterval() const
- Returns the notify interval in milliseconds.
-*/
-
-/*!
\fn virtual qint64 QAbstractAudioInput::processedUSecs() const
Returns the amount of audio data processed since start() was called in milliseconds.
*/
@@ -365,12 +334,6 @@ QT_BEGIN_NAMESPACE
This signal is emitted when the device \a state has changed.
*/
-/*!
- \fn QAbstractAudioInput::notify()
- This signal is emitted when x ms of audio data has been processed
- the interval set by setNotifyInterval(x).
-*/
-
QT_END_NAMESPACE
#include "moc_qaudiosystem_p.cpp"
diff --git a/src/multimedia/audio/qaudiosystem_p.h b/src/multimedia/audio/qaudiosystem_p.h
index 41c63ea5a..24c43af82 100644
--- a/src/multimedia/audio/qaudiosystem_p.h
+++ b/src/multimedia/audio/qaudiosystem_p.h
@@ -76,8 +76,6 @@ public:
virtual int periodSize() const = 0;
virtual void setBufferSize(int value) = 0;
virtual int bufferSize() const = 0;
- virtual void setNotifyInterval(int milliSeconds) = 0;
- virtual int notifyInterval() const = 0;
virtual qint64 processedUSecs() const = 0;
virtual qint64 elapsedUSecs() const = 0;
virtual QAudio::Error error() const = 0;
@@ -92,7 +90,6 @@ public:
Q_SIGNALS:
void errorChanged(QAudio::Error error);
void stateChanged(QAudio::State state);
- void notify();
};
class QAbstractAudioInput : public QObject
@@ -110,8 +107,6 @@ public:
virtual int periodSize() const = 0;
virtual void setBufferSize(int value) = 0;
virtual int bufferSize() const = 0;
- virtual void setNotifyInterval(int milliSeconds) = 0;
- virtual int notifyInterval() const = 0;
virtual qint64 processedUSecs() const = 0;
virtual qint64 elapsedUSecs() const = 0;
virtual QAudio::Error error() const = 0;
@@ -124,7 +119,6 @@ public:
Q_SIGNALS:
void errorChanged(QAudio::Error error);
void stateChanged(QAudio::State state);
- void notify();
};
QT_END_NAMESPACE
diff --git a/src/multimedia/platform/alsa/qalsaaudioinput.cpp b/src/multimedia/platform/alsa/qalsaaudioinput.cpp
index 2b4815188..3035bff55 100644
--- a/src/multimedia/platform/alsa/qalsaaudioinput.cpp
+++ b/src/multimedia/platform/alsa/qalsaaudioinput.cpp
@@ -69,7 +69,6 @@ QAlsaAudioInput::QAlsaAudioInput(const QByteArray &device)
buffer_time = 100000;
period_time = 20000;
totalTimeValue = 0;
- intervalTime = 1000;
errorState = QAudio::NoError;
deviceState = QAudio::StoppedState;
audioSource = 0;
@@ -262,7 +261,6 @@ bool QAlsaAudioInput::open()
qDebug()<<now.second()<<"s "<<now.msec()<<"ms :open()";
#endif
clockStamp.restart();
- timeStamp.restart();
elapsedTimeOffset = 0;
int dir;
@@ -641,16 +639,6 @@ int QAlsaAudioInput::periodSize() const
return period_size;
}
-void QAlsaAudioInput::setNotifyInterval(int ms)
-{
- intervalTime = qMax(0, ms);
-}
-
-int QAlsaAudioInput::notifyInterval() const
-{
- return intervalTime;
-}
-
qint64 QAlsaAudioInput::processedUSecs() const
{
qint64 result = qint64(1000000) * totalTimeValue /
@@ -710,11 +698,6 @@ bool QAlsaAudioInput::deviceReady()
}
}
- if(intervalTime && (timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) {
- emit notify();
- elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime;
- timeStamp.restart();
- }
return true;
}
diff --git a/src/multimedia/platform/alsa/qalsaaudioinput_p.h b/src/multimedia/platform/alsa/qalsaaudioinput_p.h
index ee7d5f37c..15e1f5b66 100644
--- a/src/multimedia/platform/alsa/qalsaaudioinput_p.h
+++ b/src/multimedia/platform/alsa/qalsaaudioinput_p.h
@@ -113,8 +113,6 @@ public:
int periodSize() const override;
void setBufferSize(int value) override;
int bufferSize() const override;
- void setNotifyInterval(int milliSeconds) override;
- int notifyInterval() const override;
qint64 processedUSecs() const override;
qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
@@ -144,10 +142,8 @@ private:
void drain();
QTimer* timer;
- QElapsedTimer timeStamp;
QElapsedTimer clockStamp;
qint64 elapsedTimeOffset;
- int intervalTime;
RingBuffer ringBuffer;
int bytesAvailable;
QByteArray m_device;
diff --git a/src/multimedia/platform/alsa/qalsaaudiooutput.cpp b/src/multimedia/platform/alsa/qalsaaudiooutput.cpp
index 0589c254c..d3682b429 100644
--- a/src/multimedia/platform/alsa/qalsaaudiooutput.cpp
+++ b/src/multimedia/platform/alsa/qalsaaudiooutput.cpp
@@ -73,7 +73,6 @@ QAlsaAudioOutput::QAlsaAudioOutput(const QByteArray &device)
buffer_time = 100000;
period_time = 20000;
totalTimeValue = 0;
- intervalTime = 1000;
audioBuffer = 0;
errorState = QAudio::NoError;
deviceState = QAudio::StoppedState;
@@ -572,16 +571,6 @@ int QAlsaAudioOutput::bufferSize() const
return buffer_size;
}
-void QAlsaAudioOutput::setNotifyInterval(int ms)
-{
- intervalTime = qMax(0, ms);
-}
-
-int QAlsaAudioOutput::notifyInterval() const
-{
- return intervalTime;
-}
-
qint64 QAlsaAudioOutput::processedUSecs() const
{
return qint64(1000000) * totalTimeValue / settings.sampleRate();
@@ -716,11 +705,6 @@ bool QAlsaAudioOutput::deviceReady()
if(deviceState != QAudio::ActiveState)
return true;
- if(intervalTime && (timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) {
- emit notify();
- elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime;
- timeStamp.restart();
- }
return true;
}
diff --git a/src/multimedia/platform/alsa/qalsaaudiooutput_p.h b/src/multimedia/platform/alsa/qalsaaudiooutput_p.h
index df76aba30..2dff0d7a3 100644
--- a/src/multimedia/platform/alsa/qalsaaudiooutput_p.h
+++ b/src/multimedia/platform/alsa/qalsaaudiooutput_p.h
@@ -87,8 +87,6 @@ public:
int periodSize() const override;
void setBufferSize(int value) override;
int bufferSize() const override;
- void setNotifyInterval(int milliSeconds) override;
- int notifyInterval() const override;
qint64 processedUSecs() const override;
qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
@@ -117,7 +115,6 @@ private:
bool resuming;
int buffer_size;
int period_size;
- int intervalTime;
qint64 totalTimeValue;
unsigned int buffer_time;
unsigned int period_time;
@@ -132,7 +129,6 @@ private:
QTimer* timer;
QByteArray m_device;
int bytesAvailable;
- QElapsedTimer timeStamp;
QElapsedTimer clockStamp;
qint64 elapsedTimeOffset;
char* audioBuffer;
diff --git a/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp b/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp
index 5afb4ffca..f815bcd6b 100644
--- a/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp
+++ b/src/multimedia/platform/android/audio/qopenslesaudioinput.cpp
@@ -108,7 +108,6 @@ QOpenSLESAudioInput::QOpenSLESAudioInput(const QByteArray &device)
, m_volume(1.0)
, m_bufferSize(0)
, m_periodSize(0)
- , m_intervalTime(1000)
, m_buffers(new QByteArray[NUM_BUFFERS])
, m_currentBuffer(0)
{
@@ -460,13 +459,6 @@ void QOpenSLESAudioInput::writeDataToDevice(const char *data, int size)
Q_EMIT m_bufferIODevice->readyRead();
}
}
-
- // Send notify signal if needed
- qint64 processedMsecs = processedUSecs() / 1000;
- if (m_intervalTime && (processedMsecs - m_lastNotifyTime) >= m_intervalTime) {
- Q_EMIT notify();
- m_lastNotifyTime = processedMsecs;
- }
}
void QOpenSLESAudioInput::flushBuffers()
@@ -507,16 +499,6 @@ int QOpenSLESAudioInput::periodSize() const
return m_periodSize;
}
-void QOpenSLESAudioInput::setNotifyInterval(int ms)
-{
- m_intervalTime = qMax(0, ms);
-}
-
-int QOpenSLESAudioInput::notifyInterval() const
-{
- return m_intervalTime;
-}
-
qint64 QOpenSLESAudioInput::processedUSecs() const
{
return m_format.durationForBytes(m_processedBytes);
diff --git a/src/multimedia/platform/android/audio/qopenslesaudioinput_p.h b/src/multimedia/platform/android/audio/qopenslesaudioinput_p.h
index 168dca361..61492f6f1 100644
--- a/src/multimedia/platform/android/audio/qopenslesaudioinput_p.h
+++ b/src/multimedia/platform/android/audio/qopenslesaudioinput_p.h
@@ -89,8 +89,6 @@ public:
int periodSize() const;
void setBufferSize(int value);
int bufferSize() const;
- void setNotifyInterval(int milliSeconds);
- int notifyInterval() const;
qint64 processedUSecs() const;
qint64 elapsedUSecs() const;
QAudio::Error error() const;
@@ -134,7 +132,6 @@ private:
qreal m_volume;
int m_bufferSize;
int m_periodSize;
- int m_intervalTime;
QByteArray *m_buffers;
int m_currentBuffer;
};
diff --git a/src/multimedia/platform/android/audio/qopenslesaudiooutput.cpp b/src/multimedia/platform/android/audio/qopenslesaudiooutput.cpp
index 81a2af791..7f4125b2b 100644
--- a/src/multimedia/platform/android/audio/qopenslesaudiooutput.cpp
+++ b/src/multimedia/platform/android/audio/qopenslesaudiooutput.cpp
@@ -81,7 +81,6 @@ QOpenSLESAudioOutput::QOpenSLESAudioOutput(const QByteArray &device)
m_pullMode(false),
m_nextBuffer(0),
m_bufferSize(0),
- m_notifyInterval(1000),
m_periodSize(0),
m_elapsedTime(0),
m_processedBytes(0),
@@ -209,42 +208,6 @@ int QOpenSLESAudioOutput::bufferSize() const
return m_bufferSize;
}
-void QOpenSLESAudioOutput::setNotifyInterval(int ms)
-{
- const int newInterval = ms > 0 ? ms : 0;
-
- if (newInterval == m_notifyInterval)
- return;
-
- const SLuint32 newEvenMask = newInterval == 0 ? m_eventMask & ~SL_PLAYEVENT_HEADATNEWPOS
- : m_eventMask & SL_PLAYEVENT_HEADATNEWPOS;
-
- if (m_state == QAudio::StoppedState) {
- m_eventMask = newEvenMask;
- m_notifyInterval = newInterval;
- return;
- }
-
- if (newEvenMask != m_eventMask
- && SL_RESULT_SUCCESS != (*m_playItf)->SetCallbackEventsMask(m_playItf, newEvenMask)) {
- return;
- }
-
- m_eventMask = newEvenMask;
-
- if (newInterval && SL_RESULT_SUCCESS != (*m_playItf)->SetPositionUpdatePeriod(m_playItf,
- newInterval)) {
- return;
- }
-
- m_notifyInterval = newInterval;
-}
-
-int QOpenSLESAudioOutput::notifyInterval() const
-{
- return m_notifyInterval;
-}
-
qint64 QOpenSLESAudioOutput::processedUSecs() const
{
if (m_state == QAudio::IdleState || m_state == QAudio::SuspendedState)
@@ -547,11 +510,6 @@ bool QOpenSLESAudioOutput::preparePlayer()
return false;
}
- if (m_notifyInterval && SL_RESULT_SUCCESS == (*m_playItf)->SetPositionUpdatePeriod(m_playItf,
- m_notifyInterval)) {
- m_eventMask |= SL_PLAYEVENT_HEADATNEWPOS;
- }
-
if (SL_RESULT_SUCCESS != (*m_playItf)->SetCallbackEventsMask(m_playItf, m_eventMask)) {
setError(QAudio::FatalError);
return false;
diff --git a/src/multimedia/platform/android/audio/qopenslesaudiooutput_p.h b/src/multimedia/platform/android/audio/qopenslesaudiooutput_p.h
index f5c995903..a1042af42 100644
--- a/src/multimedia/platform/android/audio/qopenslesaudiooutput_p.h
+++ b/src/multimedia/platform/android/audio/qopenslesaudiooutput_p.h
@@ -78,8 +78,6 @@ public:
int periodSize() const override;
void setBufferSize(int value) override;
int bufferSize() const override;
- void setNotifyInterval(int milliSeconds) override;
- int notifyInterval() const override;
qint64 processedUSecs() const override;
qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
@@ -128,7 +126,6 @@ private:
bool m_pullMode;
int m_nextBuffer;
int m_bufferSize;
- int m_notifyInterval;
int m_periodSize;
qint64 m_elapsedTime;
qint64 m_processedBytes;
diff --git a/src/multimedia/platform/darwin/audio/qcoreaudioinput.mm b/src/multimedia/platform/darwin/audio/qcoreaudioinput.mm
index fea9c2d6c..74788cf9f 100644
--- a/src/multimedia/platform/darwin/audio/qcoreaudioinput.mm
+++ b/src/multimedia/platform/darwin/audio/qcoreaudioinput.mm
@@ -470,10 +470,6 @@ CoreAudioInput::CoreAudioInput(const QAudioDeviceInfo &device)
m_audioDeviceId = info->deviceID();
#endif
m_device = di.id();
-
- m_intervalTimer = new QTimer(this);
- m_intervalTimer->setInterval(1000);
- connect(m_intervalTimer, SIGNAL(timeout()), this, SIGNAL(notify()));
}
@@ -828,25 +824,6 @@ int CoreAudioInput::bufferSize() const
return m_internalBufferSize;
}
-
-void CoreAudioInput::setNotifyInterval(int milliSeconds)
-{
- if (m_intervalTimer->interval() == milliSeconds)
- return;
-
- if (milliSeconds <= 0)
- milliSeconds = 0;
-
- m_intervalTimer->setInterval(milliSeconds);
-}
-
-
-int CoreAudioInput::notifyInterval() const
-{
- return m_intervalTimer->interval();
-}
-
-
qint64 CoreAudioInput::processedUSecs() const
{
return m_totalFrames * 1000000 / m_audioFormat.sampleRate();
@@ -961,14 +938,11 @@ void CoreAudioInput::audioDeviceError()
void CoreAudioInput::startTimers()
{
m_audioBuffer->startFlushTimer();
- if (m_intervalTimer->interval() > 0)
- m_intervalTimer->start();
}
void CoreAudioInput::stopTimers()
{
m_audioBuffer->stopFlushTimer();
- m_intervalTimer->stop();
}
OSStatus CoreAudioInput::inputCallback(void *inRefCon, AudioUnitRenderActionFlags *ioActionFlags, const AudioTimeStamp *inTimeStamp, UInt32 inBusNumber, UInt32 inNumberFrames, AudioBufferList *ioData)
diff --git a/src/multimedia/platform/darwin/audio/qcoreaudioinput_p.h b/src/multimedia/platform/darwin/audio/qcoreaudioinput_p.h
index 3931d9022..1a66791ef 100644
--- a/src/multimedia/platform/darwin/audio/qcoreaudioinput_p.h
+++ b/src/multimedia/platform/darwin/audio/qcoreaudioinput_p.h
@@ -205,8 +205,6 @@ public:
int periodSize() const;
void setBufferSize(int value);
int bufferSize() const;
- void setNotifyInterval(int milliSeconds);
- int notifyInterval() const;
qint64 processedUSecs() const;
qint64 elapsedUSecs() const;
QAudio::Error error() const;
@@ -268,7 +266,6 @@ private:
QMutex m_mutex;
QWaitCondition m_threadFinished;
QAtomicInt m_audioThreadState;
- QTimer *m_intervalTimer;
AudioStreamBasicDescription m_streamFormat;
AudioStreamBasicDescription m_deviceFormat;
qreal m_volume;
diff --git a/src/multimedia/platform/darwin/audio/qcoreaudiooutput.mm b/src/multimedia/platform/darwin/audio/qcoreaudiooutput.mm
index f79bce38c..16e333513 100644
--- a/src/multimedia/platform/darwin/audio/qcoreaudiooutput.mm
+++ b/src/multimedia/platform/darwin/audio/qcoreaudiooutput.mm
@@ -248,10 +248,6 @@ QCoreAudioOutput::QCoreAudioOutput(const QAudioDeviceInfo &device)
m_clockFrequency = CoreAudioUtils::frequency() / 1000;
m_audioThreadState.storeRelaxed(Stopped);
-
- m_intervalTimer = new QTimer(this);
- m_intervalTimer->setInterval(1000);
- connect(m_intervalTimer, SIGNAL(timeout()), this, SIGNAL(notify()));
}
QCoreAudioOutput::~QCoreAudioOutput()
@@ -386,22 +382,6 @@ int QCoreAudioOutput::bufferSize() const
return m_internalBufferSize;
}
-void QCoreAudioOutput::setNotifyInterval(int milliSeconds)
-{
- if (m_intervalTimer->interval() == milliSeconds)
- return;
-
- if (milliSeconds <= 0)
- milliSeconds = 0;
-
- m_intervalTimer->setInterval(milliSeconds);
-}
-
-int QCoreAudioOutput::notifyInterval() const
-{
- return m_intervalTimer->interval();
-}
-
qint64 QCoreAudioOutput::processedUSecs() const
{
return m_totalFrames * 1000000 / m_audioFormat.sampleRate();
@@ -471,7 +451,6 @@ QString QCoreAudioOutput::category() const
void QCoreAudioOutput::deviceStopped()
{
- m_intervalTimer->stop();
emit stateChanged(m_stateCode);
}
@@ -739,14 +718,11 @@ void QCoreAudioOutput::audioDeviceError()
void QCoreAudioOutput::startTimers()
{
m_audioBuffer->startFillTimer();
- if (m_intervalTimer->interval() > 0)
- m_intervalTimer->start();
}
void QCoreAudioOutput::stopTimers()
{
m_audioBuffer->stopFillTimer();
- m_intervalTimer->stop();
}
QT_END_NAMESPACE
diff --git a/src/multimedia/platform/darwin/audio/qcoreaudiooutput_p.h b/src/multimedia/platform/darwin/audio/qcoreaudiooutput_p.h
index 0a75ed793..b37a3f3d3 100644
--- a/src/multimedia/platform/darwin/audio/qcoreaudiooutput_p.h
+++ b/src/multimedia/platform/darwin/audio/qcoreaudiooutput_p.h
@@ -138,8 +138,6 @@ public:
int periodSize() const;
void setBufferSize(int value);
int bufferSize() const;
- void setNotifyInterval(int milliSeconds);
- int notifyInterval() const;
qint64 processedUSecs() const;
qint64 elapsedUSecs() const;
QAudio::Error error() const;
@@ -203,7 +201,6 @@ private:
QAtomicInt m_audioThreadState;
QWaitCondition m_threadFinished;
QMutex m_mutex;
- QTimer *m_intervalTimer;
qreal m_cachedVolume;
qreal m_volume;
bool m_pullMode;
diff --git a/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer.cpp b/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer.cpp
index 99eaf3e63..eec61995b 100644
--- a/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer.cpp
+++ b/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer.cpp
@@ -297,16 +297,6 @@ int QGStreamerAudioInput::periodSize() const
return m_periodSize;
}
-void QGStreamerAudioInput::setNotifyInterval(int ms)
-{
- m_intervalTime = qMax(0, ms);
-}
-
-int QGStreamerAudioInput::notifyInterval() const
-{
- return m_intervalTime;
-}
-
qint64 QGStreamerAudioInput::processedUSecs() const
{
return 0;
diff --git a/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer_p.h b/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer_p.h
index d8fa577e4..ce84c7b9a 100644
--- a/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer_p.h
+++ b/src/multimedia/platform/gstreamer/audio/qaudioinput_gstreamer_p.h
@@ -89,8 +89,6 @@ public:
int periodSize() const override;
void setBufferSize(int value) override;
int bufferSize() const override;
- void setNotifyInterval(int milliSeconds) override;
- int notifyInterval() const override;
qint64 processedUSecs() const override;
qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
@@ -127,7 +125,6 @@ private:
int m_bytesAvailable = 0;
int m_bufferSize = 0;
int m_periodSize = 0;
- int m_intervalTime = 1000;
qint64 m_elapsedTimeOffset = 0;
QElapsedTimer m_timeStamp;
QElapsedTimer m_clockStamp;
diff --git a/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp b/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp
index 325975cb0..9a92d3935 100644
--- a/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp
+++ b/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer.cpp
@@ -293,16 +293,6 @@ int QGStreamerAudioOutput::bufferSize() const
return m_bufferSize;
}
-void QGStreamerAudioOutput::setNotifyInterval(int ms)
-{
- m_notifyInterval = qMax(0, ms);
-}
-
-int QGStreamerAudioOutput::notifyInterval() const
-{
- return m_notifyInterval;
-}
-
qint64 QGStreamerAudioOutput::processedUSecs() const
{
qint64 result = qint64(1000000) * m_totalTimeValue /
diff --git a/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer_p.h b/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer_p.h
index 7d3d5bf5b..a756fa584 100644
--- a/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer_p.h
+++ b/src/multimedia/platform/gstreamer/audio/qaudiooutput_gstreamer_p.h
@@ -89,8 +89,6 @@ public:
int periodSize() const override;
void setBufferSize(int value) override;
int bufferSize() const override;
- void setNotifyInterval(int milliSeconds) override;
- int notifyInterval() const override;
qint64 processedUSecs() const override;
qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
@@ -124,7 +122,6 @@ private:
QIODevice *m_audioSource = nullptr;
QRingBuffer m_buffer;
QTimer m_periodTimer;
- int m_notifyInterval = 1000;
int m_bufferSize = 0;
QElapsedTimer m_clockStamp;
qint64 m_totalTimeValue = 0;
diff --git a/src/multimedia/platform/gstreamer/common/qgstvideorenderersink.cpp b/src/multimedia/platform/gstreamer/common/qgstvideorenderersink.cpp
index ebe870779..5c2479da5 100644
--- a/src/multimedia/platform/gstreamer/common/qgstvideorenderersink.cpp
+++ b/src/multimedia/platform/gstreamer/common/qgstvideorenderersink.cpp
@@ -95,7 +95,7 @@ QGstMutableCaps QGstVideoRenderer::getCaps()
// All the formats that both we and gstreamer support
#if QT_CONFIG(gstreamer_gl)
QRhi *rhi = m_sink->rhi();
- if (rhi->backend() == QRhi::OpenGLES2) {
+ if (rhi && rhi->backend() == QRhi::OpenGLES2) {
auto formats = QList<QVideoSurfaceFormat::PixelFormat>()
// << QVideoSurfaceFormat::Format_YUV420P
// << QVideoSurfaceFormat::Format_YUV422P
diff --git a/src/multimedia/platform/pulseaudio/qaudioinput_pulse.cpp b/src/multimedia/platform/pulseaudio/qaudioinput_pulse.cpp
index 5c602f9af..0efef06f4 100644
--- a/src/multimedia/platform/pulseaudio/qaudioinput_pulse.cpp
+++ b/src/multimedia/platform/pulseaudio/qaudioinput_pulse.cpp
@@ -136,7 +136,6 @@ QPulseAudioInput::QPulseAudioInput(const QByteArray &device)
, m_bytesAvailable(0)
, m_bufferSize(0)
, m_periodSize(0)
- , m_intervalTime(1000)
, m_periodTime(PeriodTimeMs)
, m_stream(nullptr)
, m_device(device)
@@ -344,7 +343,6 @@ bool QPulseAudioInput::open()
m_timer->start(m_periodTime);
m_clockStamp.restart();
- m_timeStamp.restart();
m_elapsedTimeOffset = 0;
m_totalTimeValue = 0;
@@ -486,12 +484,6 @@ qint64 QPulseAudioInput::read(char *data, qint64 len)
if (!m_pullMode && readBytes >= len)
break;
-
- if (m_intervalTime && (m_timeStamp.elapsed() + m_elapsedTimeOffset) > m_intervalTime) {
- emit notify();
- m_elapsedTimeOffset = m_timeStamp.elapsed() + m_elapsedTimeOffset - m_intervalTime;
- m_timeStamp.restart();
- }
}
#ifdef DEBUG_PULSE
@@ -558,16 +550,6 @@ int QPulseAudioInput::periodSize() const
return m_periodSize;
}
-void QPulseAudioInput::setNotifyInterval(int ms)
-{
- m_intervalTime = qMax(0, ms);
-}
-
-int QPulseAudioInput::notifyInterval() const
-{
- return m_intervalTime;
-}
-
qint64 QPulseAudioInput::processedUSecs() const
{
pa_sample_spec spec = QPulseAudioInternal::audioFormatToSampleSpec(m_format);
@@ -625,12 +607,6 @@ bool QPulseAudioInput::deviceReady()
if (m_deviceState != QAudio::ActiveState)
return true;
- if (m_intervalTime && (m_timeStamp.elapsed() + m_elapsedTimeOffset) > m_intervalTime) {
- emit notify();
- m_elapsedTimeOffset = m_timeStamp.elapsed() + m_elapsedTimeOffset - m_intervalTime;
- m_timeStamp.restart();
- }
-
return true;
}
diff --git a/src/multimedia/platform/pulseaudio/qaudioinput_pulse_p.h b/src/multimedia/platform/pulseaudio/qaudioinput_pulse_p.h
index 9f4df7e5f..41770f337 100644
--- a/src/multimedia/platform/pulseaudio/qaudioinput_pulse_p.h
+++ b/src/multimedia/platform/pulseaudio/qaudioinput_pulse_p.h
@@ -88,8 +88,6 @@ public:
int periodSize() const override;
void setBufferSize(int value) override;
int bufferSize() const override;
- void setNotifyInterval(int milliSeconds) override;
- int notifyInterval() const override;
qint64 processedUSecs() const override;
qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
@@ -127,12 +125,10 @@ private:
int m_bytesAvailable;
int m_bufferSize;
int m_periodSize;
- int m_intervalTime;
unsigned int m_periodTime;
QTimer *m_timer;
qint64 m_elapsedTimeOffset;
pa_stream *m_stream;
- QElapsedTimer m_timeStamp;
QElapsedTimer m_clockStamp;
QByteArray m_streamName;
QByteArray m_device;
diff --git a/src/multimedia/platform/pulseaudio/qaudiooutput_pulse.cpp b/src/multimedia/platform/pulseaudio/qaudiooutput_pulse.cpp
index b5adccd85..a8dda1fa0 100644
--- a/src/multimedia/platform/pulseaudio/qaudiooutput_pulse.cpp
+++ b/src/multimedia/platform/pulseaudio/qaudiooutput_pulse.cpp
@@ -160,7 +160,6 @@ QPulseAudioOutput::QPulseAudioOutput(const QByteArray &device)
, m_audioSource(nullptr)
, m_periodTime(0)
, m_stream(nullptr)
- , m_notifyInterval(1000)
, m_periodSize(0)
, m_bufferSize(0)
, m_maxBufferSize(0)
@@ -407,7 +406,6 @@ bool QPulseAudioOutput::open()
m_tickTimer->start(m_periodTime);
m_elapsedTimeOffset = 0;
- m_timeStamp.restart();
m_clockStamp.restart();
return true;
@@ -493,11 +491,6 @@ void QPulseAudioOutput::userFeed()
if (m_deviceState != QAudio::ActiveState)
return;
-
- if (m_notifyInterval && (m_timeStamp.elapsed() + m_elapsedTimeOffset) > m_notifyInterval) {
- emit notify();
- m_elapsedTimeOffset = m_timeStamp.restart() + m_elapsedTimeOffset - m_notifyInterval;
- }
}
qint64 QPulseAudioOutput::write(const char *data, qint64 len)
@@ -579,16 +572,6 @@ int QPulseAudioOutput::bufferSize() const
return m_bufferSize;
}
-void QPulseAudioOutput::setNotifyInterval(int ms)
-{
- m_notifyInterval = qMax(0, ms);
-}
-
-int QPulseAudioOutput::notifyInterval() const
-{
- return m_notifyInterval;
-}
-
qint64 QPulseAudioOutput::processedUSecs() const
{
qint64 result = qint64(1000000) * m_totalTimeValue / m_format.bytesPerFrame() / m_format.sampleRate();
diff --git a/src/multimedia/platform/pulseaudio/qaudiooutput_pulse_p.h b/src/multimedia/platform/pulseaudio/qaudiooutput_pulse_p.h
index 6f765bc60..4bcbcd576 100644
--- a/src/multimedia/platform/pulseaudio/qaudiooutput_pulse_p.h
+++ b/src/multimedia/platform/pulseaudio/qaudiooutput_pulse_p.h
@@ -85,8 +85,6 @@ public:
int periodSize() const override;
void setBufferSize(int value) override;
int bufferSize() const override;
- void setNotifyInterval(int milliSeconds) override;
- int notifyInterval() const override;
qint64 processedUSecs() const override;
qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
@@ -127,7 +125,6 @@ private:
QTimer m_periodTimer;
int m_periodTime;
pa_stream *m_stream;
- int m_notifyInterval;
int m_periodSize;
int m_bufferSize;
int m_maxBufferSize;
@@ -135,7 +132,6 @@ private:
qint64 m_totalTimeValue;
QTimer *m_tickTimer;
char *m_audioBuffer;
- QElapsedTimer m_timeStamp;
qint64 m_elapsedTimeOffset;
bool m_resuming;
QString m_category;
diff --git a/src/multimedia/platform/qnx/audio/qnxaudioinput.cpp b/src/multimedia/platform/qnx/audio/qnxaudioinput.cpp
index cdf68e5ea..bf36a0aad 100644
--- a/src/multimedia/platform/qnx/audio/qnxaudioinput.cpp
+++ b/src/multimedia/platform/qnx/audio/qnxaudioinput.cpp
@@ -60,7 +60,6 @@ QnxAudioInput::QnxAudioInput()
, m_bytesAvailable(0)
, m_bufferSize(0)
, m_periodSize(0)
- , m_intervalTime(1000)
, m_pullMode(true)
{
}
@@ -176,16 +175,6 @@ int QnxAudioInput::bufferSize() const
return m_bufferSize;
}
-void QnxAudioInput::setNotifyInterval(int milliSeconds)
-{
- m_intervalTime = qMax(0, milliSeconds);
-}
-
-int QnxAudioInput::notifyInterval() const
-{
- return m_intervalTime;
-}
-
qint64 QnxAudioInput::processedUSecs() const
{
return qint64(1000000) * m_format.framesForBytes(m_bytesRead) / m_format.sampleRate();
@@ -256,12 +245,6 @@ bool QnxAudioInput::deviceReady()
if (m_state != QAudio::ActiveState)
return true;
- if (m_intervalTime && (m_timeStamp.elapsed() + m_elapsedTimeOffset) > m_intervalTime) {
- emit notify();
- m_elapsedTimeOffset = m_timeStamp.elapsed() + m_elapsedTimeOffset - m_intervalTime;
- m_timeStamp.restart();
- }
-
return true;
}
@@ -324,7 +307,6 @@ bool QnxAudioInput::open()
m_periodSize = qMin(2048, setup.buf.block.frag_size);
m_clockStamp.restart();
- m_timeStamp.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 59087e37b..86b21f667 100644
--- a/src/multimedia/platform/qnx/audio/qnxaudioinput_p.h
+++ b/src/multimedia/platform/qnx/audio/qnxaudioinput_p.h
@@ -80,8 +80,6 @@ public:
int periodSize() const override;
void setBufferSize(int ) override;
int bufferSize() const override;
- void setNotifyInterval(int ) override;
- int notifyInterval() const override;
qint64 processedUSecs() const override;
qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
@@ -104,7 +102,6 @@ private:
void setError(QAudio::Error error);
void setState(QAudio::State state);
- QElapsedTimer m_timeStamp;
QElapsedTimer m_clockStamp;
QAudioFormat m_format;
@@ -124,7 +121,6 @@ private:
int m_bytesAvailable;
int m_bufferSize;
int m_periodSize;
- int m_intervalTime;
bool m_pullMode;
};
diff --git a/src/multimedia/platform/qnx/audio/qnxaudiooutput.cpp b/src/multimedia/platform/qnx/audio/qnxaudiooutput.cpp
index 083b54570..373d04237 100644
--- a/src/multimedia/platform/qnx/audio/qnxaudiooutput.cpp
+++ b/src/multimedia/platform/qnx/audio/qnxaudiooutput.cpp
@@ -50,14 +50,12 @@ QT_BEGIN_NAMESPACE
QnxAudioOutput::QnxAudioOutput()
: m_source(0)
, m_pushSource(false)
- , m_notifyInterval(1000)
, m_error(QAudio::NoError)
, m_state(QAudio::StoppedState)
, m_volume(1.0)
, m_periodSize(0)
, m_pcmHandle(0)
, m_bytesWritten(0)
- , m_intervalOffset(0)
#if _NTO_VERSION >= 700
, m_pcmNotifier(0)
#endif
@@ -166,16 +164,6 @@ int QnxAudioOutput::periodSize() const
return m_periodSize;
}
-void QnxAudioOutput::setNotifyInterval(int ms)
-{
- m_notifyInterval = ms;
-}
-
-int QnxAudioOutput::notifyInterval() const
-{
- return m_notifyInterval;
-}
-
qint64 QnxAudioOutput::processedUSecs() const
{
return qint64(1000000) * m_format.framesForBytes(m_bytesWritten) / m_format.sampleRate();
@@ -274,12 +262,6 @@ void QnxAudioOutput::pullData()
if (m_state != QAudio::ActiveState)
return;
-
- if (m_notifyInterval > 0 && (m_intervalTimeStamp.elapsed() + m_intervalOffset) > m_notifyInterval) {
- emit notify();
- m_intervalOffset = m_intervalTimeStamp.elapsed() + m_intervalOffset - m_notifyInterval;
- m_intervalTimeStamp.restart();
- }
}
bool QnxAudioOutput::open()
@@ -348,8 +330,6 @@ bool QnxAudioOutput::open()
m_periodSize = qMin(2048, setup.buf.block.frag_size);
m_startTimeStamp.restart();
- m_intervalTimeStamp.restart();
- m_intervalOffset = 0;
m_bytesWritten = 0;
createPcmNotifiers();
diff --git a/src/multimedia/platform/qnx/audio/qnxaudiooutput_p.h b/src/multimedia/platform/qnx/audio/qnxaudiooutput_p.h
index 55b5e7be5..0a9228d36 100644
--- a/src/multimedia/platform/qnx/audio/qnxaudiooutput_p.h
+++ b/src/multimedia/platform/qnx/audio/qnxaudiooutput_p.h
@@ -83,8 +83,6 @@ public:
int periodSize() const override;
void setBufferSize(int) override {}
int bufferSize() const override { return 0; }
- void setNotifyInterval(int ms) override;
- int notifyInterval() const override;
qint64 processedUSecs() const override;
qint64 elapsedUSecs() const override;
QAudio::Error error() const override;
@@ -120,7 +118,6 @@ private:
bool m_pushSource;
QTimer m_timer;
- int m_notifyInterval;
QAudio::Error m_error;
QAudio::State m_state;
QAudioFormat m_format;
@@ -131,8 +128,6 @@ private:
snd_pcm_t *m_pcmHandle;
qint64 m_bytesWritten;
QElapsedTimer m_startTimeStamp;
- QElapsedTimer m_intervalTimeStamp;
- qint64 m_intervalOffset;
#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 3f2423ad5..65d15ef96 100644
--- a/src/multimedia/platform/windows/audio/qwindowsaudioinput.cpp
+++ b/src/multimedia/platform/windows/audio/qwindowsaudioinput.cpp
@@ -65,7 +65,6 @@ QWindowsAudioInput::QWindowsAudioInput(int deviceId)
period_size = 0;
m_deviceId = deviceId;
totalTimeValue = 0;
- intervalTime = 1000;
errorState = QAudio::NoError;
deviceState = QAudio::StoppedState;
audioSource = 0;
@@ -323,7 +322,6 @@ bool QWindowsAudioInput::open()
return false;
}
- timeStamp.restart();
elapsedTimeOffset = 0;
if (waveInOpen(&hWaveIn, UINT_PTR(m_deviceId), &wfx.Format,
@@ -610,16 +608,6 @@ int QWindowsAudioInput::periodSize() const
return period_size;
}
-void QWindowsAudioInput::setNotifyInterval(int ms)
-{
- intervalTime = qMax(0, ms);
-}
-
-int QWindowsAudioInput::notifyInterval() const
-{
- return intervalTime;
-}
-
qint64 QWindowsAudioInput::processedUSecs() const
{
if (deviceState == QAudio::StoppedState)
@@ -668,11 +656,6 @@ bool QWindowsAudioInput::deviceReady()
a->trigger();
}
- if(intervalTime && (timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) {
- emit notify();
- elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime;
- timeStamp.restart();
- }
return true;
}
diff --git a/src/multimedia/platform/windows/audio/qwindowsaudioinput_p.h b/src/multimedia/platform/windows/audio/qwindowsaudioinput_p.h
index 17341945d..459c36f56 100644
--- a/src/multimedia/platform/windows/audio/qwindowsaudioinput_p.h
+++ b/src/multimedia/platform/windows/audio/qwindowsaudioinput_p.h
@@ -99,8 +99,6 @@ public:
int periodSize() const;
void setBufferSize(int value);
int bufferSize() const;
- void setNotifyInterval(int milliSeconds);
- int notifyInterval() const;
qint64 processedUSecs() const;
qint64 elapsedUSecs() const;
QAudio::Error error() const;
@@ -119,8 +117,6 @@ private:
qint32 header;
int m_deviceId;
int bytesAvailable;
- int intervalTime;
- QElapsedTimer timeStamp;
qint64 elapsedTimeOffset;
QElapsedTimer timeStampOpened;
qint64 totalTimeValue;
diff --git a/src/multimedia/platform/windows/audio/qwindowsaudiooutput.cpp b/src/multimedia/platform/windows/audio/qwindowsaudiooutput.cpp
index b9f746e91..3c805f780 100644
--- a/src/multimedia/platform/windows/audio/qwindowsaudiooutput.cpp
+++ b/src/multimedia/platform/windows/audio/qwindowsaudiooutput.cpp
@@ -67,7 +67,6 @@ QWindowsAudioOutput::QWindowsAudioOutput(int deviceId)
period_size = 0;
m_deviceId = deviceId;
totalTimeValue = 0;
- intervalTime = 1000;
audioBuffer = 0;
errorState = QAudio::NoError;
deviceState = QAudio::StoppedState;
@@ -272,7 +271,6 @@ bool QWindowsAudioOutput::open()
if(audioBuffer == 0)
audioBuffer = new char[blocks_count * period_size];
- timeStamp.restart();
elapsedTimeOffset = 0;
if (waveOutOpen(&hWaveOut, UINT_PTR(m_deviceId), &wfx.Format,
@@ -351,16 +349,6 @@ int QWindowsAudioOutput::bufferSize() const
return buffer_size;
}
-void QWindowsAudioOutput::setNotifyInterval(int ms)
-{
- intervalTime = qMax(0, ms);
-}
-
-int QWindowsAudioOutput::notifyInterval() const
-{
- return intervalTime;
-}
-
qint64 QWindowsAudioOutput::processedUSecs() const
{
if (deviceState == QAudio::StoppedState)
@@ -492,11 +480,6 @@ bool QWindowsAudioOutput::deviceReady()
#ifdef DEBUG_AUDIO
qDebug() << "Skipping data as unable to write";
#endif
- if ((timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) {
- emit notify();
- elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime;
- timeStamp.restart();
- }
return true;
}
@@ -555,14 +538,6 @@ bool QWindowsAudioOutput::deviceReady()
}
}
}
- if(deviceState != QAudio::ActiveState && deviceState != QAudio::IdleState)
- return true;
-
- if(intervalTime && (timeStamp.elapsed() + elapsedTimeOffset) > intervalTime) {
- emit notify();
- elapsedTimeOffset = timeStamp.elapsed() + elapsedTimeOffset - intervalTime;
- timeStamp.restart();
- }
return true;
}
diff --git a/src/multimedia/platform/windows/audio/qwindowsaudiooutput_p.h b/src/multimedia/platform/windows/audio/qwindowsaudiooutput_p.h
index c5ad75f33..983287a4c 100644
--- a/src/multimedia/platform/windows/audio/qwindowsaudiooutput_p.h
+++ b/src/multimedia/platform/windows/audio/qwindowsaudiooutput_p.h
@@ -97,8 +97,6 @@ public:
int periodSize() const;
void setBufferSize(int value);
int bufferSize() const;
- void setNotifyInterval(int milliSeconds);
- int notifyInterval() const;
qint64 processedUSecs() const;
qint64 elapsedUSecs() const;
QAudio::Error error() const;
@@ -119,7 +117,6 @@ private:
void pauseAndSleep();
int m_deviceId;
int bytesAvailable;
- QElapsedTimer timeStamp;
qint64 elapsedTimeOffset;
QElapsedTimer timeStampOpened;
qint32 buffer_size;
@@ -127,7 +124,6 @@ private:
qint32 blocks_count;
qint64 totalTimeValue;
bool pullMode;
- int intervalTime;
qreal volumeCache;
static void QT_WIN_CALLBACK waveOutProc( HWAVEOUT hWaveOut, UINT uMsg,
DWORD_PTR dwInstance, DWORD_PTR dwParam1, DWORD_PTR dwParam2 );
diff --git a/src/multimedia/playback/qmediaplayer.cpp b/src/multimedia/playback/qmediaplayer.cpp
index 4941c12ad..abe2b4ab4 100644
--- a/src/multimedia/playback/qmediaplayer.cpp
+++ b/src/multimedia/playback/qmediaplayer.cpp
@@ -72,37 +72,12 @@ QT_BEGIN_NAMESPACE
\sa QVideoWidget
*/
-void QMediaPlayerPrivate::_q_notify()
-{
- Q_Q(QMediaPlayer);
-
- const QMetaObject* m = q->metaObject();
-
- // QTBUG-57045
- // we create a copy of notifyProperties container to ensure that if a property is removed
- // from the original container as a result of invoking propertyChanged signal, the iterator
- // won't become invalidated
- QSet<int> properties = notifyProperties;
-
- for (int pi : qAsConst(properties)) {
- QMetaProperty p = m->property(pi);
- p.notifySignal().invoke(
- q, QGenericArgument(p.metaType().name(), p.read(q).data()));
- }
-}
-
void QMediaPlayerPrivate::setState(QMediaPlayer::State ps)
{
Q_Q(QMediaPlayer);
if (ps != state) {
state = ps;
-
- if (ps == QMediaPlayer::PlayingState)
- q->addPropertyWatch("position");
- else
- q->removePropertyWatch("position");
-
emit q->stateChanged(ps);
}
}
@@ -118,17 +93,6 @@ void QMediaPlayerPrivate::setStatus(QMediaPlayer::MediaStatus s)
if (s != status) {
status = s;
-
- switch (s) {
- case QMediaPlayer::StalledMedia:
- case QMediaPlayer::BufferingMedia:
- q->addPropertyWatch("bufferStatus");
- break;
- default:
- q->removePropertyWatch("bufferStatus");
- break;
- }
-
emit q->mediaStatusChanged(s);
}
}
@@ -235,10 +199,6 @@ QMediaPlayer::QMediaPlayer(QObject *parent)
{
Q_D(QMediaPlayer);
- d->notifyTimer = new QTimer(this);
- d->notifyTimer->setInterval(1000);
- connect(d->notifyTimer, SIGNAL(timeout()), SLOT(_q_notify()));
-
d->control = QPlatformMediaIntegration::instance()->createPlayer(this);
if (!d->control) { // ### Should this be an assertion?
d->setError(QMediaPlayer::ResourceError, QMediaPlayer::tr("Platform does not support media playback."));
@@ -249,12 +209,6 @@ QMediaPlayer::QMediaPlayer(QObject *parent)
d->state = d->control->state();
d->status = d->control->mediaStatus();
- if (d->state == PlayingState)
- addPropertyWatch("position");
-
- if (d->status == StalledMedia || d->status == BufferingMedia)
- addPropertyWatch("bufferStatus");
-
d->hasStreamPlaybackFeature = d->control->streamPlaybackSupported();
}
@@ -274,66 +228,6 @@ QMediaPlayer::~QMediaPlayer()
delete d->control;
}
-int QMediaPlayer::notifyInterval() const
-{
- return d_func()->notifyTimer->interval();
-}
-
-void QMediaPlayer::setNotifyInterval(int milliSeconds)
-{
- Q_D(QMediaPlayer);
-
- if (d->notifyTimer->interval() != milliSeconds) {
- d->notifyTimer->setInterval(milliSeconds);
-
- emit notifyIntervalChanged(milliSeconds);
- }
-}
-
-/*!
- Watch the property \a name. The property's notify signal will be emitted
- once every \c notifyInterval milliseconds.
-
- \sa notifyInterval
-*/
-
-void QMediaPlayer::addPropertyWatch(QByteArray const &name)
-{
- Q_D(QMediaPlayer);
-
- const QMetaObject* m = metaObject();
-
- int index = m->indexOfProperty(name.constData());
-
- if (index != -1 && m->property(index).hasNotifySignal()) {
- d->notifyProperties.insert(index);
-
- if (!d->notifyTimer->isActive())
- d->notifyTimer->start();
- }
-}
-
-/*!
- Remove property \a name from the list of properties whose changes are
- regularly signaled.
-
- \sa notifyInterval
-*/
-
-void QMediaPlayer::removePropertyWatch(QByteArray const &name)
-{
- Q_D(QMediaPlayer);
-
- int index = metaObject()->indexOfProperty(name.constData());
-
- if (index != -1) {
- d->notifyProperties.remove(index);
-
- if (d->notifyProperties.isEmpty())
- d->notifyTimer->stop();
- }
-}
-
QUrl QMediaPlayer::media() const
{
Q_D(const QMediaPlayer);
@@ -940,8 +834,7 @@ QList<QAudio::Role> QMediaPlayer::supportedAudioRoles() const
The value is the current playback position, expressed in milliseconds since
the beginning of the media. Periodically changes in the position will be
- indicated with the signal positionChanged(), the interval between updates
- can be set with setNotifyInterval().
+ indicated with the signal positionChanged().
*/
/*!
diff --git a/src/multimedia/playback/qmediaplayer.h b/src/multimedia/playback/qmediaplayer.h
index 31f584c98..840e521f1 100644
--- a/src/multimedia/playback/qmediaplayer.h
+++ b/src/multimedia/playback/qmediaplayer.h
@@ -55,7 +55,6 @@ class QMediaPlayerPrivate;
class Q_MULTIMEDIA_EXPORT QMediaPlayer : public QObject
{
Q_OBJECT
- Q_PROPERTY(int notifyInterval READ notifyInterval WRITE setNotifyInterval NOTIFY notifyIntervalChanged)
Q_PROPERTY(QUrl media READ media WRITE setMedia NOTIFY mediaChanged)
Q_PROPERTY(qint64 duration READ duration NOTIFY durationChanged)
Q_PROPERTY(qint64 position READ position WRITE setPosition NOTIFY positionChanged)
@@ -113,11 +112,6 @@ public:
// bool enableLowLatencyPlayback(bool tryEnable);
// bool isLowLatencyPlaybackEnabled() const;
- int notifyInterval() const;
- void setNotifyInterval(int milliSeconds);
- void addPropertyWatch(QByteArray const &name);
- void removePropertyWatch(QByteArray const &name);
-
bool setAudioOutput(const QAudioDeviceInfo &device);
QAudioDeviceInfo audioOutput() const;
@@ -180,10 +174,7 @@ public Q_SLOTS:
void setMedia(const QUrl &media, QIODevice *stream = nullptr);
Q_SIGNALS:
- void notifyIntervalChanged(int milliSeconds);
-
void mediaChanged(const QUrl &media);
-
void stateChanged(QMediaPlayer::State newState);
void mediaStatusChanged(QMediaPlayer::MediaStatus status);
@@ -213,7 +204,6 @@ private:
Q_DISABLE_COPY(QMediaPlayer)
Q_DECLARE_PRIVATE(QMediaPlayer)
friend class QPlatformMediaPlayer;
- Q_PRIVATE_SLOT(d_func(), void _q_notify())
};
QT_END_NAMESPACE
diff --git a/src/multimedia/playback/qmediaplayer_p.h b/src/multimedia/playback/qmediaplayer_p.h
index b0e775a6c..f0ff1bbd6 100644
--- a/src/multimedia/playback/qmediaplayer_p.h
+++ b/src/multimedia/playback/qmediaplayer_p.h
@@ -72,7 +72,7 @@ class QMediaPlayerPrivate : public QObjectPrivate
Q_DECLARE_PUBLIC(QMediaPlayer)
public:
- QMediaPlayerPrivate() : notifyTimer(nullptr) {}
+ QMediaPlayerPrivate() = default;
QPlatformMediaPlayer* control = nullptr;
QString errorString;
@@ -96,10 +96,6 @@ public:
void setState(QMediaPlayer::State state);
void setStatus(QMediaPlayer::MediaStatus status);
void setError(int error, const QString &errorString);
- void _q_notify();
-
- QTimer *notifyTimer;
- QSet<int> notifyProperties;
};
QT_END_NAMESPACE
diff --git a/src/multimedia/video/qvideotexturehelper.cpp b/src/multimedia/video/qvideotexturehelper.cpp
index 56282445d..f0797b039 100644
--- a/src/multimedia/video/qvideotexturehelper.cpp
+++ b/src/multimedia/video/qvideotexturehelper.cpp
@@ -264,6 +264,40 @@ static QMatrix4x4 colorMatrix(QVideoSurfaceFormat::YCbCrColorSpace colorSpace)
}
}
+#if 0
+static QMatrix4x4 yuvColorCorrectionMatrix(float brightness, float contrast, float hue, float saturation)
+{
+ // Color correction in YUV space is done as follows:
+
+ // The formulas assumes values in range 0-255, and a blackpoint of Y=16, whitepoint of Y=235
+ //
+ // Bightness: b
+ // Contrast: c
+ // Hue: h
+ // Saturation: s
+ //
+ // Y' = (Y - 16)*c + b + 16
+ // U' = ((U - 128)*cos(h) + (V - 128)*sin(h))*c*s + 128
+ // V' = ((V - 128)*cos(h) - (U - 128)*sin(h))*c*s + 128
+ //
+ // For normalized YUV values (0-1 range) as we have them in the pixel shader, this translates to:
+ //
+ // Y' = (Y - .0625)*c + b + .0625
+ // U' = ((U - .5)*cos(h) + (V - .5)*sin(h))*c*s + .5
+ // V' = ((V - .5)*cos(h) - (U - .5)*sin(h))*c*s + .5
+ //
+ // The values need to be clamped to 0-1 after the correction and before converting to RGB
+ // The transformation can be encoded in a 4x4 matrix assuming we have an A component of 1
+
+ float chcs = cos(hue)*contrast*saturation;
+ float shcs = sin(hue)*contrast*saturation;
+ return QMatrix4x4(contrast, 0, 0, .0625*(1 - contrast) + brightness,
+ 0, chcs, shcs, .5*(1 - chcs - shcs),
+ 0, -shcs, chcs, .5*(1 + shcs - chcs),
+ 0, 0, 0, 1);
+}
+#endif
+
QByteArray uniformData(const QVideoSurfaceFormat &format, const QMatrix4x4 &transform, float opacity)
{
QMatrix4x4 cmat;
diff --git a/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp b/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp
index 566d42bc9..1ee4915cc 100644
--- a/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp
+++ b/tests/auto/integration/qaudioinput/tst_qaudioinput.cpp
@@ -79,8 +79,6 @@ private slots:
void invalidFormat();
void bufferSize();
- void notifyInterval();
- void disableNotifyInterval();
void stopWhileStopped();
void suspendWhileStopped();
@@ -295,70 +293,6 @@ void tst_QAudioInput::bufferSize()
QString("bufferSize: requested=8192, actual=%2").arg(audioInput.bufferSize()).toLocal8Bit().constData());
}
-void tst_QAudioInput::notifyInterval()
-{
- QAudioInput audioInput(audioDevice.preferredFormat(), this);
-
- QVERIFY2((audioInput.error() == QAudio::NoError), "error() was not set to QAudio::NoError on creation");
-
- audioInput.setNotifyInterval(50);
- QVERIFY2((audioInput.error() == QAudio::NoError), "error() is not QAudio::NoError after setNotifyInterval(50)");
- QVERIFY2((audioInput.notifyInterval() == 50),
- QString("notifyInterval: requested=50, actual=%2").arg(audioInput.notifyInterval()).toLocal8Bit().constData());
-
- audioInput.setNotifyInterval(100);
- QVERIFY2((audioInput.error() == QAudio::NoError), "error() is not QAudio::NoError after setNotifyInterval(100)");
- QVERIFY2((audioInput.notifyInterval() == 100),
- QString("notifyInterval: requested=100, actual=%2").arg(audioInput.notifyInterval()).toLocal8Bit().constData());
-
- audioInput.setNotifyInterval(250);
- QVERIFY2((audioInput.error() == QAudio::NoError), "error() is not QAudio::NoError after setNotifyInterval(250)");
- QVERIFY2((audioInput.notifyInterval() == 250),
- QString("notifyInterval: requested=250, actual=%2").arg(audioInput.notifyInterval()).toLocal8Bit().constData());
-
- audioInput.setNotifyInterval(1000);
- QVERIFY2((audioInput.error() == QAudio::NoError), "error() is not QAudio::NoError after setNotifyInterval(1000)");
- QVERIFY2((audioInput.notifyInterval() == 1000),
- QString("notifyInterval: requested=1000, actual=%2").arg(audioInput.notifyInterval()).toLocal8Bit().constData());
-}
-
-void tst_QAudioInput::disableNotifyInterval()
-{
- // Sets an invalid notification interval (QAudioInput::setNotifyInterval(0))
- // Checks that
- // - No error is raised (QAudioInput::error() returns QAudio::NoError)
- // - if <= 0, set to zero and disable notify signal
-
- QAudioInput audioInput(audioDevice.preferredFormat(), this);
-
- QVERIFY2((audioInput.error() == QAudio::NoError), "error() was not set to QAudio::NoError on creation");
-
- audioInput.setNotifyInterval(0);
- QVERIFY2((audioInput.error() == QAudio::NoError), "error() is not QAudio::NoError after setNotifyInterval(0)");
- QVERIFY2((audioInput.notifyInterval() == 0),
- "notifyInterval() is not zero after setNotifyInterval(0)");
-
- audioInput.setNotifyInterval(-1);
- QVERIFY2((audioInput.error() == QAudio::NoError), "error() is not QAudio::NoError after setNotifyInterval(-1)");
- QVERIFY2((audioInput.notifyInterval() == 0),
- "notifyInterval() is not zero after setNotifyInterval(-1)");
-
- //start and run to check if notify() is emitted
- if (audioFiles.size() > 0) {
- QAudioInput audioInputCheck(testFormats.at(0), this);
- audioInputCheck.setNotifyInterval(0);
- QSignalSpy notifySignal(&audioInputCheck, SIGNAL(notify()));
- QFile *audioFile = audioFiles.at(0).data();
- audioFile->open(QIODevice::WriteOnly);
- audioInputCheck.start(audioFile);
- QTest::qWait(3000); // 3 seconds should be plenty
- audioInputCheck.stop();
- QVERIFY2((notifySignal.count() == 0),
- QString("didn't disable notify interval: shouldn't have got any but got %1").arg(notifySignal.count()).toLocal8Bit().constData());
- audioFile->close();
- }
-}
-
void tst_QAudioInput::stopWhileStopped()
{
// Calls QAudioInput::stop() when object is already in StoppedState
@@ -426,8 +360,6 @@ void tst_QAudioInput::pull()
QAudioInput audioInput(audioFormat, this);
- audioInput.setNotifyInterval(100);
-
QSignalSpy notifySignal(&audioInput, SIGNAL(notify()));
QSignalSpy stateSignal(&audioInput, SIGNAL(stateChanged(QAudio::State)));
@@ -493,8 +425,6 @@ void tst_QAudioInput::pullSuspendResume()
QAudioInput audioInput(audioFormat, this);
- audioInput.setNotifyInterval(100);
-
QSignalSpy notifySignal(&audioInput, SIGNAL(notify()));
QSignalSpy stateSignal(&audioInput, SIGNAL(stateChanged(QAudio::State)));
@@ -589,8 +519,6 @@ void tst_QAudioInput::push()
QAudioInput audioInput(audioFormat, this);
- audioInput.setNotifyInterval(100);
-
QSignalSpy notifySignal(&audioInput, SIGNAL(notify()));
QSignalSpy stateSignal(&audioInput, SIGNAL(stateChanged(QAudio::State)));
@@ -675,7 +603,6 @@ void tst_QAudioInput::pushSuspendResume()
QFETCH(QAudioFormat, audioFormat);
QAudioInput audioInput(audioFormat, this);
- audioInput.setNotifyInterval(100);
audioInput.setBufferSize(audioFormat.bytesForDuration(1000000));
QSignalSpy notifySignal(&audioInput, SIGNAL(notify()));
@@ -799,8 +726,6 @@ void tst_QAudioInput::reset()
{
QAudioInput audioInput(audioFormat, this);
- audioInput.setNotifyInterval(100);
-
QSignalSpy notifySignal(&audioInput, SIGNAL(notify()));
QSignalSpy stateSignal(&audioInput, SIGNAL(stateChanged(QAudio::State)));
@@ -832,8 +757,6 @@ void tst_QAudioInput::reset()
QAudioInput audioInput(audioFormat, this);
QBuffer buffer;
- audioInput.setNotifyInterval(100);
-
QSignalSpy notifySignal(&audioInput, SIGNAL(notify()));
QSignalSpy stateSignal(&audioInput, SIGNAL(stateChanged(QAudio::State)));
diff --git a/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp b/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp
index dd051cc7b..bf5321aea 100644
--- a/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp
+++ b/tests/auto/integration/qaudiooutput/tst_qaudiooutput.cpp
@@ -74,11 +74,6 @@ private slots:
void bufferSize_data();
void bufferSize();
- void notifyInterval_data();
- void notifyInterval();
-
- void disableNotifyInterval();
-
void stopWhileStopped();
void suspendWhileStopped();
void resumeWhileStopped();
@@ -342,67 +337,6 @@ void tst_QAudioOutput::bufferSize()
QString("bufferSize: requested=%1, actual=%2").arg(bufferSize).arg(audioOutput.bufferSize()).toLocal8Bit().constData());
}
-void tst_QAudioOutput::notifyInterval_data()
-{
- QTest::addColumn<int>("interval");
- QTest::newRow("Notify interval 50") << 50;
- QTest::newRow("Notify interval 100") << 100;
- QTest::newRow("Notify interval 250") << 250;
- QTest::newRow("Notify interval 1000") << 1000;
-}
-
-void tst_QAudioOutput::notifyInterval()
-{
- QFETCH(int, interval);
- QAudioOutput audioOutput(audioDevice.preferredFormat(), this);
-
- QVERIFY2((audioOutput.error() == QAudio::NoError), "error() was not set to QAudio::NoError on creation");
-
- audioOutput.setNotifyInterval(interval);
- QVERIFY2((audioOutput.error() == QAudio::NoError), QString("error() is not QAudio::NoError after setNotifyInterval(%1)").arg(interval).toLocal8Bit().constData());
- QVERIFY2((audioOutput.notifyInterval() == interval),
- QString("notifyInterval: requested=%1, actual=%2").arg(interval).arg(audioOutput.notifyInterval()).toLocal8Bit().constData());
-}
-
-void tst_QAudioOutput::disableNotifyInterval()
-{
- // Sets an invalid notification interval (QAudioOutput::setNotifyInterval(0))
- // Checks that
- // - No error is raised (QAudioOutput::error() returns QAudio::NoError)
- // - if <= 0, set to zero and disable notify signal
-
- QAudioOutput audioOutput(audioDevice.preferredFormat(), this);
-
- QVERIFY2((audioOutput.error() == QAudio::NoError), "error() was not set to QAudio::NoError on creation");
-
- audioOutput.setNotifyInterval(0);
- QVERIFY2((audioOutput.error() == QAudio::NoError), "error() is not QAudio::NoError after setNotifyInterval(0)");
- QVERIFY2((audioOutput.notifyInterval() == 0),
- "notifyInterval() is not zero after setNotifyInterval(0)");
-
- audioOutput.setNotifyInterval(-1);
- QVERIFY2((audioOutput.error() == QAudio::NoError), "error() is not QAudio::NoError after setNotifyInterval(-1)");
- QVERIFY2((audioOutput.notifyInterval() == 0),
- "notifyInterval() is not zero after setNotifyInterval(-1)");
-
- //start and run to check if notify() is emitted
- if (audioFiles.size() > 0) {
- QAudioOutput audioOutputCheck(testFormats.at(0), this);
- audioOutputCheck.setNotifyInterval(0);
- audioOutputCheck.setVolume(0.1f);
-
- QSignalSpy notifySignal(&audioOutputCheck, SIGNAL(notify()));
- QFile *audioFile = audioFiles.at(0).data();
- audioFile->open(QIODevice::ReadOnly);
- audioOutputCheck.start(audioFile);
- QTest::qWait(3000); // 3 seconds should be plenty
- audioOutputCheck.stop();
- QVERIFY2((notifySignal.count() == 0),
- QString("didn't disable notify interval: shouldn't have got any but got %1").arg(notifySignal.count()).toLocal8Bit().constData());
- audioFile->close();
- }
-}
-
void tst_QAudioOutput::stopWhileStopped()
{
// Calls QAudioOutput::stop() when object is already in StoppedState
@@ -470,7 +404,6 @@ void tst_QAudioOutput::pull()
QAudioOutput audioOutput(audioFormat, this);
- audioOutput.setNotifyInterval(100);
audioOutput.setVolume(0.1f);
QSignalSpy notifySignal(&audioOutput, SIGNAL(notify()));
@@ -529,7 +462,6 @@ void tst_QAudioOutput::pullSuspendResume()
QFETCH(QAudioFormat, audioFormat);
QAudioOutput audioOutput(audioFormat, this);
- audioOutput.setNotifyInterval(100);
audioOutput.setVolume(0.1f);
QSignalSpy notifySignal(&audioOutput, SIGNAL(notify()));
@@ -616,7 +548,6 @@ void tst_QAudioOutput::push()
QAudioOutput audioOutput(audioFormat, this);
- audioOutput.setNotifyInterval(100);
audioOutput.setVolume(0.1f);
QSignalSpy notifySignal(&audioOutput, SIGNAL(notify()));
@@ -703,7 +634,6 @@ void tst_QAudioOutput::pushSuspendResume()
QAudioOutput audioOutput(audioFormat, this);
- audioOutput.setNotifyInterval(100);
audioOutput.setVolume(0.1f);
QSignalSpy notifySignal(&audioOutput, SIGNAL(notify()));
@@ -833,7 +763,6 @@ void tst_QAudioOutput::pushUnderrun()
QAudioOutput audioOutput(audioFormat, this);
- audioOutput.setNotifyInterval(100);
audioOutput.setVolume(0.1f);
QSignalSpy notifySignal(&audioOutput, SIGNAL(notify()));
diff --git a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
index 34dec384e..b4ef2847c 100644
--- a/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
+++ b/tests/auto/integration/qmediaplayerbackend/tst_qmediaplayerbackend.cpp
@@ -238,7 +238,6 @@ void tst_QMediaPlayerBackend::unloadMedia()
QSKIP("Sound format is not supported");
QMediaPlayer player;
- player.setNotifyInterval(50);
QSignalSpy stateSpy(&player, SIGNAL(stateChanged(QMediaPlayer::State)));
QSignalSpy statusSpy(&player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
@@ -302,7 +301,6 @@ void tst_QMediaPlayerBackend::playPauseStop()
QSKIP("Sound format is not supported");
QMediaPlayer player;
- player.setNotifyInterval(50);
QSignalSpy stateSpy(&player, SIGNAL(stateChanged(QMediaPlayer::State)));
QSignalSpy statusSpy(&player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
@@ -457,7 +455,6 @@ void tst_QMediaPlayerBackend::processEOS()
QSKIP("Sound format is not supported");
QMediaPlayer player;
- player.setNotifyInterval(50);
QSignalSpy stateSpy(&player, SIGNAL(stateChanged(QMediaPlayer::State)));
QSignalSpy statusSpy(&player, SIGNAL(mediaStatusChanged(QMediaPlayer::MediaStatus)));
@@ -818,7 +815,6 @@ void tst_QMediaPlayerBackend::seekInStoppedState()
QSKIP("No supported video file");
QMediaPlayer player;
- player.setNotifyInterval(500);
QSignalSpy stateSpy(&player, SIGNAL(stateChanged(QMediaPlayer::State)));
QSignalSpy positionSpy(&player, SIGNAL(positionChanged(qint64)));
diff --git a/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp
index 2e724b879..b93c57f79 100644
--- a/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp
+++ b/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp
@@ -77,11 +77,6 @@ public slots:
void cleanup();
private slots:
- void propertyWatch();
- void notifySignals_data();
- void notifySignals();
- void notifyInterval_data();
- void notifyInterval();
void testNullService_data();
void testNullService();
void testValid();
@@ -126,7 +121,6 @@ private slots:
void testAudioRole();
private:
- void setupNotifyTests();
void setupCommonTestData();
QMockIntegration *mockIntegration;
@@ -144,9 +138,6 @@ class QtTestMediaPlayer : public QMediaPlayer
public:
QtTestMediaPlayer() : QMediaPlayer() {}
- using QMediaPlayer::addPropertyWatch;
- using QMediaPlayer::removePropertyWatch;
-
[[nodiscard]] int a() const { return m_a; }
void setA(int a) { m_a = a; }
@@ -171,190 +162,6 @@ private:
int m_d = 0;
};
-void tst_QMediaPlayer::propertyWatch()
-{
- QtTestMediaPlayer object;
- object.setNotifyInterval(0);
-
- QEventLoop loop;
- connect(&object, SIGNAL(aChanged(int)), &QTestEventLoop::instance(), SLOT(exitLoop()));
- connect(&object, SIGNAL(bChanged(int)), &QTestEventLoop::instance(), SLOT(exitLoop()));
- connect(&object, SIGNAL(cChanged(int)), &QTestEventLoop::instance(), SLOT(exitLoop()));
-
- QSignalSpy aSpy(&object, SIGNAL(aChanged(int)));
- QSignalSpy bSpy(&object, SIGNAL(bChanged(int)));
- QSignalSpy cSpy(&object, SIGNAL(cChanged(int)));
-
- QTestEventLoop::instance().enterLoop(1);
-
- QCOMPARE(aSpy.count(), 0);
- QCOMPARE(bSpy.count(), 0);
- QCOMPARE(cSpy.count(), 0);
-
- int aCount = 0;
- int bCount = 0;
- int cCount = 0;
-
- object.addPropertyWatch("a");
-
- QTestEventLoop::instance().enterLoop(1);
-
- QVERIFY(aSpy.count() > aCount);
- QCOMPARE(bSpy.count(), 0);
- QCOMPARE(cSpy.count(), 0);
- QCOMPARE(aSpy.last().value(0).toInt(), 0);
-
- aCount = aSpy.count();
-
- object.setA(54);
- object.setB(342);
- object.setC(233);
-
- QTestEventLoop::instance().enterLoop(1);
-
- QVERIFY(aSpy.count() > aCount);
- QCOMPARE(bSpy.count(), 0);
- QCOMPARE(cSpy.count(), 0);
- QCOMPARE(aSpy.last().value(0).toInt(), 54);
-
- aCount = aSpy.count();
-
- object.addPropertyWatch("b");
- object.addPropertyWatch("d");
- object.removePropertyWatch("e");
- object.setA(43);
- object.setB(235);
- object.setC(90);
-
- QTestEventLoop::instance().enterLoop(1);
-
- QVERIFY(aSpy.count() > aCount);
- QVERIFY(bSpy.count() > bCount);
- QCOMPARE(cSpy.count(), 0);
- QCOMPARE(aSpy.last().value(0).toInt(), 43);
- QCOMPARE(bSpy.last().value(0).toInt(), 235);
-
- aCount = aSpy.count();
- bCount = bSpy.count();
-
- object.removePropertyWatch("a");
- object.addPropertyWatch("c");
- object.addPropertyWatch("e");
-
- QTestEventLoop::instance().enterLoop(1);
-
- QCOMPARE(aSpy.count(), aCount);
- QVERIFY(bSpy.count() > bCount);
- QVERIFY(cSpy.count() > cCount);
- QCOMPARE(bSpy.last().value(0).toInt(), 235);
- QCOMPARE(cSpy.last().value(0).toInt(), 90);
-
- bCount = bSpy.count();
- cCount = cSpy.count();
-
- object.setA(435);
- object.setC(9845);
-
- QTestEventLoop::instance().enterLoop(1);
-
- QCOMPARE(aSpy.count(), aCount);
- QVERIFY(bSpy.count() > bCount);
- QVERIFY(cSpy.count() > cCount);
- QCOMPARE(bSpy.last().value(0).toInt(), 235);
- QCOMPARE(cSpy.last().value(0).toInt(), 9845);
-
- bCount = bSpy.count();
- cCount = cSpy.count();
-
- object.setA(8432);
- object.setB(324);
- object.setC(443);
- object.removePropertyWatch("c");
- object.removePropertyWatch("d");
-
- QTestEventLoop::instance().enterLoop(1);
-
- QCOMPARE(aSpy.count(), aCount);
- QVERIFY(bSpy.count() > bCount);
- QCOMPARE(cSpy.count(), cCount);
- QCOMPARE(bSpy.last().value(0).toInt(), 324);
- QCOMPARE(cSpy.last().value(0).toInt(), 9845);
-
- bCount = bSpy.count();
-
- object.removePropertyWatch("b");
-
- QTestEventLoop::instance().enterLoop(1);
-
- QCOMPARE(aSpy.count(), aCount);
- QCOMPARE(bSpy.count(), bCount);
- QCOMPARE(cSpy.count(), cCount);
-}
-
-void tst_QMediaPlayer::setupNotifyTests()
-{
- QTest::addColumn<int>("interval");
- QTest::addColumn<int>("count");
-
- QTest::newRow("single 750ms")
- << 750
- << 1;
- QTest::newRow("single 600ms")
- << 600
- << 1;
- QTest::newRow("x3 300ms")
- << 300
- << 3;
- QTest::newRow("x5 180ms")
- << 180
- << 5;
-}
-
-void tst_QMediaPlayer::notifySignals_data()
-{
- setupNotifyTests();
-}
-
-void tst_QMediaPlayer::notifySignals()
-{
- QFETCH(int, interval);
- QFETCH(int, count);
-
- QtTestMediaPlayer object;
- QSignalSpy spy(&object, SIGNAL(aChanged(int)));
-
- object.setNotifyInterval(interval);
- object.addPropertyWatch("a");
-
- QElapsedTimer timer;
- timer.start();
-
- QTRY_COMPARE(spy.count(), count);
-}
-
-void tst_QMediaPlayer::notifyInterval_data()
-{
- setupNotifyTests();
-}
-
-void tst_QMediaPlayer::notifyInterval()
-{
- QFETCH(int, interval);
-
- QtTestMediaPlayer object;
- QSignalSpy spy(&object, SIGNAL(notifyIntervalChanged(int)));
-
- object.setNotifyInterval(interval);
- QCOMPARE(object.notifyInterval(), interval);
- QCOMPARE(spy.count(), 1);
- QCOMPARE(spy.last().value(0).toInt(), interval);
-
- object.setNotifyInterval(interval);
- QCOMPARE(object.notifyInterval(), interval);
- QCOMPARE(spy.count(), 1);
-}
-
-
void tst_QMediaPlayer::setupCommonTestData()
{
QTest::addColumn<bool>("valid");
@@ -873,8 +680,6 @@ void tst_QMediaPlayer::testMediaStatus()
QFETCH(int, bufferStatus);
int bufferSignals = 0;
- player->setNotifyInterval(10);
-
mockPlayer->setMediaStatus(QMediaPlayer::NoMedia);
mockPlayer->setBufferStatus(bufferStatus);