diff options
-rw-r--r-- | src/multimedia/audio/qaudio.h | 25 | ||||
-rw-r--r-- | src/multimedia/audio/qtaudio.cpp | 19 | ||||
-rw-r--r-- | tests/auto/integration/qaudiosink/tst_qaudiosink.cpp | 14 | ||||
-rw-r--r-- | tests/auto/integration/qaudiosource/tst_qaudiosource.cpp | 14 |
4 files changed, 66 insertions, 6 deletions
diff --git a/src/multimedia/audio/qaudio.h b/src/multimedia/audio/qaudio.h index c7d3eaa49..bcc75545b 100644 --- a/src/multimedia/audio/qaudio.h +++ b/src/multimedia/audio/qaudio.h @@ -12,7 +12,7 @@ QT_BEGIN_NAMESPACE -// ### Qt7: Remove the QAudio namespace +// ### Qt7: merge the QAudio namespace into QtAudio #if defined(Q_QDOC) namespace QtAudio #else @@ -48,7 +48,28 @@ Q_MULTIMEDIA_EXPORT float convertVolume(float volume, VolumeScale from, VolumeSc } // namespace QtAudio #if !defined(Q_QDOC) -namespace QtAudio = QAudio; +namespace QtAudio { +using Error = QAudio::Error; +using State = QAudio::State; +using VolumeScale = QAudio::VolumeScale; + +inline constexpr auto NoError = QAudio::NoError; +inline constexpr auto OpenError = QAudio::OpenError; +inline constexpr auto IOError = QAudio::IOError; +inline constexpr auto UnderrunError = QAudio::UnderrunError; +inline constexpr auto FatalError = QAudio::FatalError; +inline constexpr auto ActiveState = QAudio::ActiveState; +inline constexpr auto SuspendedState = QAudio::SuspendedState; +inline constexpr auto StoppedState = QAudio::StoppedState; +inline constexpr auto IdleState = QAudio::IdleState; +inline constexpr auto LinearVolumeScale = QAudio::LinearVolumeScale; +inline constexpr auto CubicVolumeScale = QAudio::CubicVolumeScale; +inline constexpr auto LogarithmicVolumeScale = QAudio::LogarithmicVolumeScale; +inline constexpr auto DecibelVolumeScale = QAudio::DecibelVolumeScale; + +Q_MULTIMEDIA_EXPORT float convertVolume(float volume, VolumeScale from, VolumeScale to); + +} // namespace QtAudio #endif #ifndef QT_NO_DEBUG_STREAM diff --git a/src/multimedia/audio/qtaudio.cpp b/src/multimedia/audio/qtaudio.cpp index fa84e0786..3c3d6ee4b 100644 --- a/src/multimedia/audio/qtaudio.cpp +++ b/src/multimedia/audio/qtaudio.cpp @@ -69,11 +69,7 @@ QT_BEGIN_NAMESPACE \sa QtAudio::convertVolume() */ -#if defined(Q_QDOC) namespace QtAudio -#else -namespace QAudio -#endif { /*! @@ -176,8 +172,23 @@ float convertVolume(float volume, VolumeScale from, VolumeScale to) return volume; } +} // namespace QtAudio + +#if !defined(Q_QDOC) + +// Qt7 +namespace QAudio { + +// ### Qt7 remove this implementation +float convertVolume(float volume, VolumeScale from, VolumeScale to) +{ + return QtAudio::convertVolume(volume, from, to); } +} // namespace QAudio + +#endif + #ifndef QT_NO_DEBUG_STREAM QDebug operator<<(QDebug dbg, QAudio::Error error) { diff --git a/tests/auto/integration/qaudiosink/tst_qaudiosink.cpp b/tests/auto/integration/qaudiosink/tst_qaudiosink.cpp index b9024df72..4b66b35da 100644 --- a/tests/auto/integration/qaudiosink/tst_qaudiosink.cpp +++ b/tests/auto/integration/qaudiosink/tst_qaudiosink.cpp @@ -113,6 +113,8 @@ private slots: void stop_stopsAudioSink_whenInvokedUponFirstStateChange_data(); void stop_stopsAudioSink_whenInvokedUponFirstStateChange(); + void stateChanged_stringBasedConnect(); + void callbackAPI(); void callbackAPI_startFailsWithWrongType(); @@ -1196,6 +1198,18 @@ void tst_QAudioSink::stop_stopsAudioSink_whenInvokedUponFirstStateChange() QTRY_COMPARE(audioSink.state(), QtAudio::State::StoppedState); } +void tst_QAudioSink::stateChanged_stringBasedConnect() +{ + const QAudioDevice defaultAudioOutputDevice = QMediaDevices::defaultAudioOutput(); + + QAudioSink audiosink(defaultAudioOutputDevice); + + QSignalSpy stateSignal(&audiosink, SIGNAL(stateChanged(QAudio::State))); + + audiosink.start(); + QTRY_VERIFY(!stateSignal.empty()); +} + void tst_QAudioSink::callbackAPI() { #if QT_CONFIG(thread) diff --git a/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp b/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp index 0405a67e9..24c23ab5b 100644 --- a/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp +++ b/tests/auto/integration/qaudiosource/tst_qaudiosource.cpp @@ -83,6 +83,8 @@ private slots: void stop_stopsAudioSource_whenInvokedUponFirstStateChange_data(); void stop_stopsAudioSource_whenInvokedUponFirstStateChange(); + void stateChanged_stringBasedConnect(); + private: using FilePtr = std::shared_ptr<QFile>; @@ -1012,6 +1014,18 @@ void tst_QAudioSource::stop_stopsAudioSource_whenInvokedUponFirstStateChange() QTRY_COMPARE(audioSource.state(), QtAudio::State::StoppedState); } +void tst_QAudioSource::stateChanged_stringBasedConnect() +{ + const QAudioDevice defaultAudioInputDevice = QMediaDevices::defaultAudioInput(); + + QAudioSource audioSource(defaultAudioInputDevice); + + QSignalSpy stateSignal(&audioSource, SIGNAL(stateChanged(QAudio::State))); + + audioSource.start(); + QTRY_VERIFY(!stateSignal.empty()); +} + QTEST_MAIN(tst_QAudioSource) #include "tst_qaudiosource.moc" |