diff options
28 files changed, 7 insertions, 413 deletions
diff --git a/examples/multimediawidgets/player/player.cpp b/examples/multimediawidgets/player/player.cpp index a5a0922ba..03420f3f1 100644 --- a/examples/multimediawidgets/player/player.cpp +++ b/examples/multimediawidgets/player/player.cpp @@ -70,7 +70,6 @@ Player::Player(QWidget *parent) m_player = new QMediaPlayer(this); m_audioOutput = new QAudioOutput(this); m_player->setAudioOutput(m_audioOutput); - m_audioOutput->setAudioRole(QAudio::VideoRole); //! [create-objs] //! [2] diff --git a/src/multimedia/audio/qaudio.cpp b/src/multimedia/audio/qaudio.cpp index e45a67868..0d7fd8dea 100644 --- a/src/multimedia/audio/qaudio.cpp +++ b/src/multimedia/audio/qaudio.cpp @@ -87,26 +87,6 @@ QT_BEGIN_NAMESPACE */ /*! - \enum QAudio::Role - - This enum describes the role of an audio stream. - - \value UnknownRole The role is unknown or undefined - \value MusicRole Music - \value VideoRole Soundtrack from a movie or a video - \value VoiceCommunicationRole Voice communications, such as telephony - \value AlarmRole Alarm - \value NotificationRole Notification, such as an incoming e-mail or a chat request - \value RingtoneRole Ringtone - \value AccessibilityRole For accessibility, such as with a screen reader - \value SonificationRole Sonification, such as with user interface sounds - \value GameRole Game audio - - \since 5.6 - \sa QMediaPlayer::setAudioRole() -*/ - -/*! \enum QAudio::VolumeScale This enum defines the different audio volume scales. @@ -280,45 +260,6 @@ QDebug operator<<(QDebug dbg, QAudio::State state) return dbg; } -QDebug operator<<(QDebug dbg, QAudio::Role role) -{ - QDebugStateSaver saver(dbg); - dbg.nospace(); - switch (role) { - case QAudio::UnknownRole: - dbg << "UnknownRole"; - break; - case QAudio::AccessibilityRole: - dbg << "AccessibilityRole"; - break; - case QAudio::AlarmRole: - dbg << "AlarmRole"; - break; - case QAudio::GameRole: - dbg << "GameRole"; - break; - case QAudio::MusicRole: - dbg << "MusicRole"; - break; - case QAudio::NotificationRole: - dbg << "NotificationRole"; - break; - case QAudio::RingtoneRole: - dbg << "RingtoneRole"; - break; - case QAudio::SonificationRole: - dbg << "SonificationRole"; - break; - case QAudio::VideoRole: - dbg << "VideoRole"; - break; - case QAudio::VoiceCommunicationRole: - dbg << "VoiceCommunicationRole"; - break; - } - return dbg; -} - QDebug operator<<(QDebug dbg, QAudio::VolumeScale scale) { QDebugStateSaver saver(dbg); diff --git a/src/multimedia/audio/qaudio.h b/src/multimedia/audio/qaudio.h index c7852ecfc..ad824761d 100644 --- a/src/multimedia/audio/qaudio.h +++ b/src/multimedia/audio/qaudio.h @@ -56,19 +56,6 @@ namespace QAudio enum Error { NoError, OpenError, IOError, UnderrunError, FatalError }; enum State { ActiveState, SuspendedState, StoppedState, IdleState }; - enum Role { - UnknownRole, - MusicRole, - VideoRole, - VoiceCommunicationRole, - AlarmRole, - NotificationRole, - RingtoneRole, - AccessibilityRole, - SonificationRole, - GameRole, - }; - enum VolumeScale { LinearVolumeScale, CubicVolumeScale, @@ -82,7 +69,6 @@ namespace QAudio #ifndef QT_NO_DEBUG_STREAM Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug dbg, QAudio::Error error); Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug dbg, QAudio::State state); -Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug dbg, QAudio::Role role); Q_MULTIMEDIA_EXPORT QDebug operator<<(QDebug dbg, QAudio::VolumeScale role); #endif diff --git a/src/multimedia/audio/qaudiooutput.cpp b/src/multimedia/audio/qaudiooutput.cpp index 2f03f78b2..95cdc02e7 100644 --- a/src/multimedia/audio/qaudiooutput.cpp +++ b/src/multimedia/audio/qaudiooutput.cpp @@ -152,23 +152,6 @@ bool QAudioOutput::isMuted() const return d->muted; } -QAudio::Role QAudioOutput::audioRole() const -{ - return d->role; -} - -/*! - Returns a list of supported audio roles. - - If setting the audio role is not supported, an empty list is returned. - - \sa audioRole -*/ -QList<QAudio::Role> QAudioOutput::supportedAudioRoles() const -{ - return d->supportedAudioRoles(); -} - void QAudioOutput::setMuted(bool muted) { if (d->muted == muted) @@ -178,15 +161,4 @@ void QAudioOutput::setMuted(bool muted) emit mutedChanged(muted); } -void QAudioOutput::setAudioRole(QAudio::Role audioRole) -{ - if (d->role == audioRole) - return; - if (!d->supportedAudioRoles().contains(audioRole)) - return; - d->role = audioRole; - d->setAudioRole(d->role); - emit audioRoleChanged(d->role); -} - #include "moc_qaudiooutput.cpp" diff --git a/src/multimedia/audio/qaudiooutput.h b/src/multimedia/audio/qaudiooutput.h index 9a4cf3998..0f1461a55 100644 --- a/src/multimedia/audio/qaudiooutput.h +++ b/src/multimedia/audio/qaudiooutput.h @@ -55,7 +55,6 @@ class Q_MULTIMEDIA_EXPORT QAudioOutput : public QObject Q_PROPERTY(QAudioDevice device READ device WRITE setDevice NOTIFY deviceChanged) Q_PROPERTY(float volume READ volume WRITE setVolume NOTIFY volumeChanged) Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged) - Q_PROPERTY(QAudio::Role audioRole READ audioRole WRITE setAudioRole NOTIFY audioRoleChanged) public: explicit QAudioOutput(QObject *parent = nullptr); @@ -65,21 +64,16 @@ public: QAudioDevice device() const; float volume() const; bool isMuted() const; - QAudio::Role audioRole() const; - - QList<QAudio::Role> supportedAudioRoles() const; public Q_SLOTS: void setDevice(const QAudioDevice &device); void setVolume(float volume); void setMuted(bool muted); - void setAudioRole(QAudio::Role audioRole); Q_SIGNALS: void deviceChanged(); void volumeChanged(float volume); void mutedChanged(bool muted); - void audioRoleChanged(QAudio::Role role); public: QPlatformAudioOutput *handle() const { return d; } diff --git a/src/multimedia/audio/qaudiosink.cpp b/src/multimedia/audio/qaudiosink.cpp index 10ee5e470..33630306b 100644 --- a/src/multimedia/audio/qaudiosink.cpp +++ b/src/multimedia/audio/qaudiosink.cpp @@ -334,26 +334,6 @@ qreal QAudioSink::volume() const } /*! - \property QMediaPlayer::audioRole - \brief the role of the audio stream played by the media player. - - It can be set to specify the type of audio being played, allowing the system to make - appropriate decisions when it comes to volume, routing or post-processing. - - The audio role must be set before calling setMedia(). -*/ - -QAudio::Role QAudioSink::audioRole() const -{ - return d->role(); -} - -void QAudioSink::setAudioRole(QAudio::Role role) -{ - d->setRole(role); -} - -/*! \fn QAudioSink::stateChanged(QAudio::State state) This signal is emitted when the device \a state has changed. This is the current state of the audio output. diff --git a/src/multimedia/audio/qaudiosink.h b/src/multimedia/audio/qaudiosink.h index c3fc30bf0..049011e98 100644 --- a/src/multimedia/audio/qaudiosink.h +++ b/src/multimedia/audio/qaudiosink.h @@ -91,9 +91,6 @@ public: void setVolume(qreal); qreal volume() const; - QAudio::Role audioRole() const; - void setAudioRole(QAudio::Role role); - Q_SIGNALS: void stateChanged(QAudio::State state); diff --git a/src/multimedia/audio/qaudiosystem.cpp b/src/multimedia/audio/qaudiosystem.cpp index 36f4abcb0..5c43b68f6 100644 --- a/src/multimedia/audio/qaudiosystem.cpp +++ b/src/multimedia/audio/qaudiosystem.cpp @@ -141,11 +141,6 @@ QT_BEGIN_NAMESPACE Returns the volume in the range 0.0 and 1.0. */ -void QPlatformAudioSink::setRole(QAudio::Role role) -{ - m_role = role; -} - /*! \fn QPlatformAudioSink::errorChanged(QAudio::Error error) This signal is emitted when the \a error state has changed. diff --git a/src/multimedia/audio/qaudiosystem_p.h b/src/multimedia/audio/qaudiosystem_p.h index 2adfcd0f2..ae1c54dde 100644 --- a/src/multimedia/audio/qaudiosystem_p.h +++ b/src/multimedia/audio/qaudiosystem_p.h @@ -84,16 +84,12 @@ public: virtual QAudioFormat format() const = 0; virtual void setVolume(qreal) {} virtual qreal volume() const { return 1.0; } - QAudio::Role role() const { return m_role; } - virtual void setRole(QAudio::Role role); QElapsedTimer elapsedTime; Q_SIGNALS: void errorChanged(QAudio::Error error); void stateChanged(QAudio::State state); -protected: - QAudio::Role m_role = QAudio::UnknownRole; }; class QPlatformAudioSource : public QObject diff --git a/src/multimedia/audio/qsoundeffect.cpp b/src/multimedia/audio/qsoundeffect.cpp index 126d8a727..44627921b 100644 --- a/src/multimedia/audio/qsoundeffect.cpp +++ b/src/multimedia/audio/qsoundeffect.cpp @@ -99,7 +99,6 @@ public: qreal m_volume = 1.0; bool m_sampleReady = false; qint64 m_offset = 0; - QAudio::Role m_role; QAudioDevice m_audioDevice; }; @@ -108,7 +107,6 @@ QSoundEffectPrivate::QSoundEffectPrivate(QSoundEffect *q, const QAudioDevice &au , q_ptr(q) , m_audioDevice(audioDevice) { - m_role = QAudio::UnknownRole; open(QIODevice::ReadOnly); } @@ -724,47 +722,6 @@ QSoundEffect::Status QSoundEffect::status() const This setting will be ignored on platforms that do not support audio categories. */ -/*! - Returns the audio role for this sound effect. - - Some platforms can perform different audio routing - for different roles, or may allow the user to - set different volume levels for different roles. - - This setting will be ignored on platforms that do not - support audio roles. - - \sa setRole() -*/ -QAudio::Role QSoundEffect::audioRole() const -{ - return d->m_role; -} - -/*! - Sets the \e category of this sound effect to \a category. - - Some platforms can perform different audio routing - for different categories, or may allow the user to - set different volume levels for different categories. - - This setting will be ignored on platforms that do not - support audio categories. - - If this setting is changed while a sound effect is playing - it will only take effect when the sound effect has stopped - playing. - - \sa category() - */ -void QSoundEffect::setAudioRole(QAudio::Role role) -{ - if (d->m_role != role && !d->m_playing) { - d->m_role = role; - emit audioRoleChanged(); - } -} - /*! \qmlmethod QtMultimedia::SoundEffect::stop() diff --git a/src/multimedia/audio/qsoundeffect.h b/src/multimedia/audio/qsoundeffect.h index fef49fb34..155084249 100644 --- a/src/multimedia/audio/qsoundeffect.h +++ b/src/multimedia/audio/qsoundeffect.h @@ -64,7 +64,6 @@ class Q_MULTIMEDIA_EXPORT QSoundEffect : public QObject Q_PROPERTY(bool muted READ isMuted WRITE setMuted NOTIFY mutedChanged) Q_PROPERTY(bool playing READ isPlaying NOTIFY playingChanged) Q_PROPERTY(Status status READ status NOTIFY statusChanged) - Q_PROPERTY(QAudio::Role audioRole READ audioRole WRITE setAudioRole NOTIFY audioRoleChanged) public: enum Loop @@ -106,9 +105,6 @@ public: bool isPlaying() const; Status status() const; - QAudio::Role audioRole() const; - void setAudioRole(QAudio::Role); - Q_SIGNALS: void sourceChanged(); void loopCountChanged(); @@ -118,7 +114,6 @@ Q_SIGNALS: void loadedChanged(); void playingChanged(); void statusChanged(); - void audioRoleChanged(); public Q_SLOTS: void play(); diff --git a/src/multimedia/platform/android/audio/qandroidaudiosink.cpp b/src/multimedia/platform/android/audio/qandroidaudiosink.cpp index 48a536819..1a0b622a3 100644 --- a/src/multimedia/platform/android/audio/qandroidaudiosink.cpp +++ b/src/multimedia/platform/android/audio/qandroidaudiosink.cpp @@ -270,43 +270,6 @@ qreal QAndroidAudioSink::volume() const return m_volume; } -void QAndroidAudioSink::setRole(QAudio::Role role) -{ - QPlatformAudioSink::setRole(role); -#ifdef ANDROID - switch (role) { - case QAudio::MusicRole: - Q_FALLTHROUGH(); - case QAudio::VideoRole: - m_streamType = SL_ANDROID_STREAM_MEDIA; - break; - case QAudio::VoiceCommunicationRole: - m_streamType = SL_ANDROID_STREAM_VOICE; - case QAudio::NotificationRole: - m_streamType = SL_ANDROID_STREAM_NOTIFICATION; - break; - case QAudio::AlarmRole: - m_streamType = SL_ANDROID_STREAM_ALARM; - break; - case QAudio::RingtoneRole: - m_streamType = SL_ANDROID_STREAM_RING; - break; - case QAudio::AccessibilityRole: -#define STREAM_ACCESSIBILITY 0xa // AudioManager.STREAM_ACCESSIBILITY - m_streamType = STREAM_ACCESSIBILITY; - case QAudio::SonificationRole: - Q_FALLTHROUGH(); - case QAudio::GameRole: - Q_FALLTHROUGH(); - case QAudio::UnknownRole: - m_streamType = -1; - break; - } - - m_startRequiresInit = true; -#endif // ANDROID -} - void QAndroidAudioSink::onEOSEvent() { if (m_state != QAudio::ActiveState) diff --git a/src/multimedia/platform/android/audio/qandroidaudiosink_p.h b/src/multimedia/platform/android/audio/qandroidaudiosink_p.h index c8cf2b91a..40b964dc2 100644 --- a/src/multimedia/platform/android/audio/qandroidaudiosink_p.h +++ b/src/multimedia/platform/android/audio/qandroidaudiosink_p.h @@ -86,8 +86,6 @@ public: void setVolume(qreal volume) override; qreal volume() const override; - void setRole(QAudio::Role role) override; - private: friend class SLIODevicePrivate; diff --git a/src/multimedia/platform/android/common/qandroidaudiooutput_p.h b/src/multimedia/platform/android/common/qandroidaudiooutput_p.h index 65e40a300..e17f158fc 100644 --- a/src/multimedia/platform/android/common/qandroidaudiooutput_p.h +++ b/src/multimedia/platform/android/common/qandroidaudiooutput_p.h @@ -58,19 +58,6 @@ class Q_MULTIMEDIA_EXPORT QAndroidAudioOutput : public QPlatformAudioOutput { public: QAndroidAudioOutput(QAudioOutput *qq) : QPlatformAudioOutput(qq) {} - - virtual QList<QAudio::Role> supportedAudioRoles() const { - return QList<QAudio::Role>() - << QAudio::VoiceCommunicationRole - << QAudio::MusicRole - << QAudio::VideoRole - << QAudio::SonificationRole - << QAudio::AlarmRole - << QAudio::NotificationRole - << QAudio::RingtoneRole - << QAudio::AccessibilityRole - << QAudio::GameRole; - } }; QT_END_NAMESPACE diff --git a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayercontrol.cpp b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayercontrol.cpp index 85b4e3df4..7aff61200 100644 --- a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayercontrol.cpp +++ b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayercontrol.cpp @@ -220,11 +220,6 @@ void QAndroidMediaPlayerControl::setMuted(bool muted) mPendingMute = -1; } -void QAndroidMediaPlayerControl::setAudioRole(QAudio::Role role) -{ - mMediaPlayer->setAudioRole(role); -} - QMediaMetaData QAndroidMediaPlayerControl::metaData() const { return QAndroidMetaData::extractMetadata(mMediaContent); @@ -400,7 +395,6 @@ void QAndroidMediaPlayerControl::setAudioOutput(QPlatformAudioOutput *output) // #### Implement device changes: connect(m_audioOutput->q, &QAudioOutput::deviceChanged, this, XXXX); connect(m_audioOutput->q, &QAudioOutput::volumeChanged, this, &QAndroidMediaPlayerControl::setVolume); connect(m_audioOutput->q, &QAudioOutput::mutedChanged, this, &QAndroidMediaPlayerControl::setMuted); - connect(m_audioOutput->q, &QAudioOutput::audioRoleChanged, this, &QAndroidMediaPlayerControl::setAudioRole); } } diff --git a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayercontrol_p.h b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayercontrol_p.h index 3bbc20260..cf5553a7e 100644 --- a/src/multimedia/platform/android/mediaplayer/qandroidmediaplayercontrol_p.h +++ b/src/multimedia/platform/android/mediaplayer/qandroidmediaplayercontrol_p.h @@ -99,7 +99,6 @@ public: private Q_SLOTS: void setVolume(float volume); void setMuted(bool muted); - void setAudioRole(QAudio::Role role); void onVideoOutputReady(bool ready); void onError(qint32 what, qint32 extra); void onInfo(qint32 what, qint32 extra); diff --git a/src/multimedia/platform/android/wrappers/jni/androidmediaplayer.cpp b/src/multimedia/platform/android/wrappers/jni/androidmediaplayer.cpp index d60702cc0..26da7ed3d 100644 --- a/src/multimedia/platform/android/wrappers/jni/androidmediaplayer.cpp +++ b/src/multimedia/platform/android/wrappers/jni/androidmediaplayer.cpp @@ -241,6 +241,7 @@ void AndroidMediaPlayer::setDisplay(AndroidSurfaceTexture *surfaceTexture) surfaceTexture ? surfaceTexture->surfaceHolder() : 0); } +#if 0 void AndroidMediaPlayer::setAudioRole(QAudio::Role role) { QString r; @@ -320,6 +321,7 @@ void AndroidMediaPlayer::setAudioRole(QAudio::Role role) mMediaPlayer.callMethod<void>("setAudioAttributes", "(II)V", jint(type), jint(usage)); } +#endif static void onErrorNative(JNIEnv *env, jobject thiz, jint what, jint extra, jlong id) { diff --git a/src/multimedia/platform/android/wrappers/jni/androidmediaplayer_p.h b/src/multimedia/platform/android/wrappers/jni/androidmediaplayer_p.h index 7fb6094a1..2d1e645c4 100644 --- a/src/multimedia/platform/android/wrappers/jni/androidmediaplayer_p.h +++ b/src/multimedia/platform/android/wrappers/jni/androidmediaplayer_p.h @@ -129,7 +129,6 @@ public: void setVolume(int volume); bool setPlaybackRate(qreal rate); void setDisplay(AndroidSurfaceTexture *surfaceTexture); - void setAudioRole(QAudio::Role role); static bool registerNativeMethods(); diff --git a/src/multimedia/platform/pulseaudio/qpulseaudiosink.cpp b/src/multimedia/platform/pulseaudio/qpulseaudiosink.cpp index 59543874b..99f2dc09b 100644 --- a/src/multimedia/platform/pulseaudio/qpulseaudiosink.cpp +++ b/src/multimedia/platform/pulseaudio/qpulseaudiosink.cpp @@ -305,6 +305,7 @@ bool QPulseAudioSink::open() qint64 bytesPerSecond = m_format.sampleRate() * m_format.bytesPerFrame(); +#if 0 static const char *mediaRoleFromAudioRole[] = { nullptr, // UnknownRole "music", // MusicRole @@ -322,6 +323,7 @@ bool QPulseAudioSink::open() const char *r = mediaRoleFromAudioRole[m_role]; if (r) pa_proplist_sets(propList, PA_PROP_MEDIA_ROLE, r); +#endif static const auto mapName = qEnvironmentVariable("QT_PA_CHANNEL_MAP"); pa_channel_map_def_t mapDef = PA_CHANNEL_MAP_DEFAULT; @@ -360,8 +362,8 @@ bool QPulseAudioSink::open() pa_stream_set_overflow_callback(m_stream, outputStreamOverflowCallback, this); pa_stream_set_latency_update_callback(m_stream, outputStreamLatencyCallback, this); - if (m_bufferSize <= 0 && m_role == QAudio::GameRoleRole) - m_bufferSize = bytesPerSecond * LowLatencyBufferSizeMs / qint64(1000); +// if (m_bufferSize <= 0 && m_role == QAudio::GameRoleRole) +// m_bufferSize = bytesPerSecond * LowLatencyBufferSizeMs / qint64(1000); pa_buffer_attr requestedBuffer; requestedBuffer.fragsize = (uint32_t)-1; @@ -385,7 +387,7 @@ bool QPulseAudioSink::open() pa_threaded_mainloop_wait(pulseEngine->mainloop()); const pa_buffer_attr *buffer = pa_stream_get_buffer_attr(m_stream); - m_periodTime = (m_role == QAudio::GameRole) ? LowLatencyPeriodTimeMs : PeriodTimeMs; + m_periodTime = /*(m_role == QAudio::GameRole) ? LowLatencyPeriodTimeMs :*/ PeriodTimeMs; m_periodSize = pa_usec_to_bytes(m_periodTime*1000, &m_spec); m_bufferSize = buffer->tlength; m_maxBufferSize = buffer->maxlength; diff --git a/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayercontrol.cpp b/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayercontrol.cpp index c78f515ef..4eff994e4 100644 --- a/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayercontrol.cpp +++ b/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayercontrol.cpp @@ -558,16 +558,6 @@ void MmRendererMediaPlayerControl::stop() stopInternal(StopMmRenderer); } -void MmRendererMediaPlayerControl::setAudioRole(QAudio::Role role) -{ - m_role = role; -} - -QList<QAudio::Role> MmRendererMediaPlayerControl::supportedAudioRoles() const -{ - return qnxSupportedAudioRoles(); -} - MmRendererPlayerVideoRendererControl *MmRendererMediaPlayerControl::videoRendererControl() const { return m_videoRendererControl; diff --git a/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayercontrol_p.h b/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayercontrol_p.h index 62d7373a4..63ae3c407 100644 --- a/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayercontrol_p.h +++ b/src/multimedia/platform/qnx/mediaplayer/mmrenderermediaplayercontrol_p.h @@ -108,9 +108,6 @@ public: void pause() override; void stop() override; - void setAudioRole(QAudio::Role role) override; - QList<QAudio::Role> supportedAudioRoles() const override; - MmRendererPlayerVideoRendererControl *videoRendererControl() const; void setVideoRendererControl(MmRendererPlayerVideoRendererControl *videoControl); diff --git a/src/multimedia/platform/qnx/mediaplayer/mmrendererutil.cpp b/src/multimedia/platform/qnx/mediaplayer/mmrendererutil.cpp index 8ded95bcd..89cf8489b 100644 --- a/src/multimedia/platform/qnx/mediaplayer/mmrendererutil.cpp +++ b/src/multimedia/platform/qnx/mediaplayer/mmrendererutil.cpp @@ -100,11 +100,6 @@ constexpr size_t countof(T (&)[N]) return N; } -constexpr bool inBounds(QAudio::Role r) -{ - return r >= 0 && r < countof(roleMap); -} - QString keyValueMapsLocation() { QByteArray qtKeyValueMaps = qgetenv("QT_KEY_VALUE_MAPS"); @@ -128,53 +123,6 @@ QJsonObject loadMapObject(const QString &keyValueMapPath) return QJsonObject(); } -static void loadRoleMap() -{ - QMutexLocker locker(&roleMapMutex); - - if (!roleMapInitialized) { - QJsonObject mapObject = loadMapObject("/QAudio/Role.json"); - if (!mapObject.isEmpty()) { - // Wrapping the loads in a switch like this ensures that anyone adding - // a new enumerator will be notified that this code must be updated. A - // compile error will occur because the enumerator is missing from the - // switch. A compile error will also occur if the enumerator used to - // size the mapping table isn't updated when a new enumerator is added. - // One or more enumerators will be outside the bounds of the array when - // the wrong enumerator is used to size the array. - // - // The code loads a mapping for each enumerator because role is set - // to UnknownRole and all the cases drop through to the next case. -#pragma GCC diagnostic push -#pragma GCC diagnostic error "-Wswitch" -#define loadRoleMapping(r) \ - case QAudio::r: \ - static_assert(inBounds(QAudio::r), #r " out-of-bounds." \ - " Do you need to change the enumerator used to size the mapping table" \ - " because you added new QAudio::Role enumerators?"); \ - roleMap[QAudio::r] = mapObject.value(QLatin1String(#r)).toString(); - - QAudio::Role role = QAudio::UnknownRole; - switch (role) { - loadRoleMapping(UnknownRole); - loadRoleMapping(MusicRole); - loadRoleMapping(VideoRole); - loadRoleMapping(VoiceCommunicationRole); - loadRoleMapping(AlarmRole); - loadRoleMapping(NotificationRole); - loadRoleMapping(RingtoneRole); - loadRoleMapping(AccessibilityRole); - loadRoleMapping(SonificationRole); - loadRoleMapping(GameRole); - } -#undef loadRoleMapping -#pragma GCC diagnostic pop - } - - roleMapInitialized = true; - } -} - QString mmErrorMessage(const QString &msg, mmr_context_t *context, int *errorCode) { const mmr_error_info_t * const mmError = mmr_error_info(context); @@ -214,27 +162,4 @@ bool checkForDrmPermission() return false; } -QString qnxAudioType(QAudio::Role role) -{ - loadRoleMap(); - - if (role >= 0 && role < countof(roleMap)) - return roleMap[role]; - else - return QString(); -} - -QList<QAudio::Role> qnxSupportedAudioRoles() -{ - loadRoleMap(); - - QList<QAudio::Role> result; - for (size_t i = 0; i < countof(roleMap); ++i) { - if (!roleMap[i].isEmpty() || (i == QAudio::UnknownRole)) - result.append(static_cast<QAudio::Role>(i)); - } - - return result; -} - QT_END_NAMESPACE diff --git a/src/multimedia/platform/qnx/mediaplayer/mmrendererutil_p.h b/src/multimedia/platform/qnx/mediaplayer/mmrendererutil_p.h index 9bba99487..e1f972840 100644 --- a/src/multimedia/platform/qnx/mediaplayer/mmrendererutil_p.h +++ b/src/multimedia/platform/qnx/mediaplayer/mmrendererutil_p.h @@ -63,9 +63,6 @@ QString mmErrorMessage(const QString &msg, mmr_context_t *context, int * errorCo bool checkForDrmPermission(); -QString qnxAudioType(QAudio::Role role); -QList<QAudio::Role> qnxSupportedAudioRoles(); - QT_END_NAMESPACE #endif diff --git a/src/multimedia/platform/qplatformaudiooutput_p.h b/src/multimedia/platform/qplatformaudiooutput_p.h index 9979a6d5e..594d59ed0 100644 --- a/src/multimedia/platform/qplatformaudiooutput_p.h +++ b/src/multimedia/platform/qplatformaudiooutput_p.h @@ -66,14 +66,11 @@ public: virtual void setAudioDevice(const QAudioDevice &/*device*/) {} virtual void setMuted(bool /*muted*/) {} virtual void setVolume(float /*volume*/) {} - virtual void setAudioRole(QAudio::Role /*role*/) {} - virtual QList<QAudio::Role> supportedAudioRoles() const { return {}; } QAudioOutput *q = nullptr; QAudioDevice device; float volume = 1.; bool muted = false; - QAudio::Role role = QAudio::UnknownRole; }; QT_END_NAMESPACE diff --git a/src/multimedia/platform/qplatformmediaplayer.cpp b/src/multimedia/platform/qplatformmediaplayer.cpp index 814ca7b21..21e25ec9b 100644 --- a/src/multimedia/platform/qplatformmediaplayer.cpp +++ b/src/multimedia/platform/qplatformmediaplayer.cpp @@ -358,24 +358,6 @@ void QPlatformMediaPlayer::error(int error, const QString &errorString) */ /*! - \fn QAudio::Role QPlatformMediaPlayer::audioRole() const - - Returns the audio role of the media played by the media service. -*/ - -/*! - \fn void QPlatformMediaPlayer::setAudioRole(QAudio::Role role) - - Sets the audio \a role of the media played by the media service. -*/ - -/*! - \fn QList<QAudio::Role> QPlatformMediaPlayer::supportedAudioRoles() const - - Returns a list of audio roles that the media service supports. -*/ - -/*! \fn QPlatformMediaPlayer::error(int error, const QString &errorString) Signals that an \a error has occurred. The \a errorString provides a more detailed explanation. diff --git a/src/multimedia/playback/qmediaplayer_p.h b/src/multimedia/playback/qmediaplayer_p.h index f6b5a3eac..5c3282e67 100644 --- a/src/multimedia/playback/qmediaplayer_p.h +++ b/src/multimedia/playback/qmediaplayer_p.h @@ -89,8 +89,6 @@ public: QMediaPlayer::Error error = QMediaPlayer::NoError; bool autoPlay = false; - QAudio::Role audioRole = QAudio::UnknownRole; - void setMedia(const QUrl &media, QIODevice *stream = nullptr); QList<QMediaMetaData> trackMetaData(QPlatformMediaPlayer::TrackType s) const; diff --git a/tests/auto/unit/mockbackend/qmockaudiooutput.h b/tests/auto/unit/mockbackend/qmockaudiooutput.h index 02245a7a3..30cc46604 100644 --- a/tests/auto/unit/mockbackend/qmockaudiooutput.h +++ b/tests/auto/unit/mockbackend/qmockaudiooutput.h @@ -58,16 +58,6 @@ class QMockAudioOutput : public QPlatformAudioOutput { public: QMockAudioOutput(QAudioOutput *qq) : QPlatformAudioOutput(qq) {} - - virtual QList<QAudio::Role> supportedAudioRoles() const { - if (!hasAudioRole) - return {}; - return QList<QAudio::Role>() << QAudio::MusicRole - << QAudio::AlarmRole - << QAudio::NotificationRole; - } - - bool hasAudioRole = true; }; QT_END_NAMESPACE diff --git a/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp b/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp index 9e3c30466..4cb12b398 100644 --- a/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp +++ b/tests/auto/unit/multimedia/qmediaplayer/tst_qmediaplayer.cpp @@ -118,7 +118,6 @@ private slots: void testDestructor(); void testQrc_data(); void testQrc(); - void testAudioRole(); private: void setupCommonTestData(); @@ -790,42 +789,5 @@ void tst_QMediaPlayer::testQrc() QCOMPARE(bool(mockPlayer->mediaStream()), backendHasStream); } -void tst_QMediaPlayer::testAudioRole() -{ - auto *mockAudioOutput = static_cast<QMockAudioOutput *>(mockPlayer->m_audioOutput); - { - mockAudioOutput->hasAudioRole = false; - - QCOMPARE(audioOutput->audioRole(), QAudio::UnknownRole); - QVERIFY(audioOutput->supportedAudioRoles().isEmpty()); - - QSignalSpy spy(audioOutput, SIGNAL(audioRoleChanged(QAudio::Role))); - audioOutput->setAudioRole(QAudio::MusicRole); - QCOMPARE(audioOutput->audioRole(), QAudio::UnknownRole); - QCOMPARE(spy.count(), 0); - } - - { - mockPlayer->reset(); - mockAudioOutput->hasAudioRole = true; - QSignalSpy spy(audioOutput, SIGNAL(audioRoleChanged(QAudio::Role))); - - QCOMPARE(audioOutput->audioRole(), QAudio::UnknownRole); - QVERIFY(!audioOutput->supportedAudioRoles().isEmpty()); - - audioOutput->setAudioRole(QAudio::MusicRole); - QCOMPARE(audioOutput->audioRole(), QAudio::MusicRole); - QCOMPARE(spy.count(), 1); - QCOMPARE(qvariant_cast<QAudio::Role>(spy.last().value(0)), QAudio::MusicRole); - - spy.clear(); - - audioOutput->setProperty("audioRole", QVariant::fromValue(QAudio::AlarmRole)); - QCOMPARE(qvariant_cast<QAudio::Role>(audioOutput->property("audioRole")), QAudio::AlarmRole); - QCOMPARE(spy.count(), 1); - QCOMPARE(qvariant_cast<QAudio::Role>(spy.last().value(0)), QAudio::AlarmRole); - } -} - QTEST_GUILESS_MAIN(tst_QMediaPlayer) #include "tst_qmediaplayer.moc" |