diff options
Diffstat (limited to 'src/multimedia/qnx')
-rw-r--r-- | src/multimedia/qnx/qqnxaudiosink.cpp | 20 | ||||
-rw-r--r-- | src/multimedia/qnx/qqnxaudiosink_p.h | 4 | ||||
-rw-r--r-- | src/multimedia/qnx/qqnxaudiosource.cpp | 5 | ||||
-rw-r--r-- | src/multimedia/qnx/qqnxaudiosource_p.h | 2 | ||||
-rw-r--r-- | src/multimedia/qnx/qqnxmediadevices.cpp | 10 | ||||
-rw-r--r-- | src/multimedia/qnx/qqnxmediadevices_p.h | 6 |
6 files changed, 27 insertions, 20 deletions
diff --git a/src/multimedia/qnx/qqnxaudiosink.cpp b/src/multimedia/qnx/qqnxaudiosink.cpp index 0a4c073c5..f78371b02 100644 --- a/src/multimedia/qnx/qqnxaudiosink.cpp +++ b/src/multimedia/qnx/qqnxaudiosink.cpp @@ -14,9 +14,11 @@ QT_BEGIN_NAMESPACE -QQnxAudioSink::QQnxAudioSink(const QAudioDevice &deviceInfo) - : m_source(0) +QQnxAudioSink::QQnxAudioSink(const QAudioDevice &deviceInfo, QObject *parent) + : QPlatformAudioSink(parent) + , m_source(0) , m_pushSource(false) + , m_timer(new QTimer(this)) , m_error(QAudio::NoError) , m_state(QAudio::StoppedState) , m_volume(1.0) @@ -26,9 +28,9 @@ QQnxAudioSink::QQnxAudioSink(const QAudioDevice &deviceInfo) , m_deviceInfo(deviceInfo) , m_pcmNotifier(0) { - m_timer.setSingleShot(false); - m_timer.setInterval(20); - connect(&m_timer, &QTimer::timeout, this, &QQnxAudioSink::pullData); + m_timer->setSingleShot(false); + m_timer->setInterval(20); + connect(m_timer, &QTimer::timeout, this, &QQnxAudioSink::pullData); const std::optional<snd_pcm_channel_info_t> info = QnxAudioUtils::pcmChannelInfo( m_deviceInfo.id(), QAudioDevice::Output); @@ -52,7 +54,7 @@ void QQnxAudioSink::start(QIODevice *source) if (open()) { changeState(QAudio::ActiveState, QAudio::NoError); - m_timer.start(); + m_timer->start(); } else { changeState(QAudio::StoppedState, QAudio::OpenError); } @@ -308,7 +310,7 @@ bool QQnxAudioSink::open() void QQnxAudioSink::close() { if (!m_pushSource) - m_timer.stop(); + m_timer->stop(); destroyPcmNotifiers(); @@ -412,7 +414,7 @@ qint64 QQnxAudioSink::write(const char *data, qint64 len) void QQnxAudioSink::suspendInternal(QAudio::State suspendState) { if (!m_pushSource) - m_timer.stop(); + m_timer->stop(); changeState(suspendState, QAudio::NoError); } @@ -423,7 +425,7 @@ void QQnxAudioSink::resumeInternal() changeState(state, QAudio::NoError); - m_timer.start(); + m_timer->start(); } QAudio::State suspendState(const snd_pcm_event_t &event) diff --git a/src/multimedia/qnx/qqnxaudiosink_p.h b/src/multimedia/qnx/qqnxaudiosink_p.h index aed42d07f..94669ecb7 100644 --- a/src/multimedia/qnx/qqnxaudiosink_p.h +++ b/src/multimedia/qnx/qqnxaudiosink_p.h @@ -36,7 +36,7 @@ class QQnxAudioSink : public QPlatformAudioSink Q_OBJECT public: - explicit QQnxAudioSink(const QAudioDevice &deviceInfo); + explicit QQnxAudioSink(const QAudioDevice &deviceInfo, QObject *parent); ~QQnxAudioSink(); void start(QIODevice *source) override; @@ -79,7 +79,7 @@ private: QIODevice *m_source; bool m_pushSource; - QTimer m_timer; + QTimer *m_timer; QAudio::Error m_error; QAudio::State m_state; diff --git a/src/multimedia/qnx/qqnxaudiosource.cpp b/src/multimedia/qnx/qqnxaudiosource.cpp index 214427da3..1726a82d8 100644 --- a/src/multimedia/qnx/qqnxaudiosource.cpp +++ b/src/multimedia/qnx/qqnxaudiosource.cpp @@ -9,8 +9,9 @@ QT_BEGIN_NAMESPACE -QQnxAudioSource::QQnxAudioSource(const QAudioDevice &deviceInfo) - : m_audioSource(0) +QQnxAudioSource::QQnxAudioSource(const QAudioDevice &deviceInfo, QObject *parent) + : QPlatformAudioSource(parent) + , m_audioSource(0) , m_pcmNotifier(0) , m_error(QAudio::NoError) , m_state(QAudio::StoppedState) diff --git a/src/multimedia/qnx/qqnxaudiosource_p.h b/src/multimedia/qnx/qqnxaudiosource_p.h index 5b923502c..6b9cf61ac 100644 --- a/src/multimedia/qnx/qqnxaudiosource_p.h +++ b/src/multimedia/qnx/qqnxaudiosource_p.h @@ -33,7 +33,7 @@ class QQnxAudioSource : public QPlatformAudioSource Q_OBJECT public: - explicit QQnxAudioSource(const QAudioDevice &deviceInfo); + explicit QQnxAudioSource(const QAudioDevice &deviceInfo, QObject *parent); ~QQnxAudioSource(); void start(QIODevice*) override; diff --git a/src/multimedia/qnx/qqnxmediadevices.cpp b/src/multimedia/qnx/qqnxmediadevices.cpp index 899c8bb15..d9e33fcdc 100644 --- a/src/multimedia/qnx/qqnxmediadevices.cpp +++ b/src/multimedia/qnx/qqnxmediadevices.cpp @@ -55,14 +55,16 @@ QList<QAudioDevice> QQnxMediaDevices::audioOutputs() const return ::enumeratePcmDevices(QAudioDevice::Output); } -QPlatformAudioSource *QQnxMediaDevices::createAudioSource(const QAudioDevice &deviceInfo) +QPlatformAudioSource *QQnxMediaDevices::createAudioSource(const QAudioDevice &deviceInfo, + QObject *parent) { - return new QQnxAudioSource(deviceInfo); + return new QQnxAudioSource(deviceInfo, parent); } -QPlatformAudioSink *QQnxMediaDevices::createAudioSink(const QAudioDevice &deviceInfo) +QPlatformAudioSink *QQnxMediaDevices::createAudioSink(const QAudioDevice &deviceInfo, + QObject *parent) { - return new QQnxAudioSink(deviceInfo); + return new QQnxAudioSink(deviceInfo, parent); } QT_END_NAMESPACE diff --git a/src/multimedia/qnx/qqnxmediadevices_p.h b/src/multimedia/qnx/qqnxmediadevices_p.h index 55aa759b3..b8ccf5807 100644 --- a/src/multimedia/qnx/qqnxmediadevices_p.h +++ b/src/multimedia/qnx/qqnxmediadevices_p.h @@ -28,8 +28,10 @@ public: QList<QAudioDevice> audioInputs() const override; QList<QAudioDevice> audioOutputs() const override; - QPlatformAudioSource *createAudioSource(const QAudioDevice &deviceInfo) override; - QPlatformAudioSink *createAudioSink(const QAudioDevice &deviceInfo) override; + QPlatformAudioSource *createAudioSource(const QAudioDevice &deviceInfo, + QObject *parent) override; + QPlatformAudioSink *createAudioSink(const QAudioDevice &deviceInfo, + QObject *parent) override; }; QT_END_NAMESPACE |