From 96cf2fd294c6d990cbbc286e83e1db51ac36ea6a Mon Sep 17 00:00:00 2001 From: Dominik Holland Date: Mon, 31 May 2021 13:03:13 +0200 Subject: Enable building with the new QtMultimedia module Change-Id: I625d9ce22823b96f6750a7a3e05c112187b5c19a Reviewed-by: Robert Griebl --- src/3rdparty/CMakeLists.txt | 2 +- src/3rdparty/taglib/CMakeLists.txt | 62 ++++++++++++---------- src/plugins/ivimedia/media_qtro/CMakeLists.txt | 2 +- .../ivimedia/media_qtro/searchandbrowsemodel.cpp | 1 + .../media_simulator/mediaplayerbackend.cpp | 40 ++++++++------ .../ivimedia/media_simulator/mediaplayerbackend.h | 2 +- .../media_simulator/searchandbrowsebackend.cpp | 8 +-- src/tools/media-simulation-server/CMakeLists.txt | 4 +- .../qivimediaplayerqtroadapter.cpp | 2 +- 9 files changed, 69 insertions(+), 54 deletions(-) diff --git a/src/3rdparty/CMakeLists.txt b/src/3rdparty/CMakeLists.txt index f93cca6..d6bd38f 100644 --- a/src/3rdparty/CMakeLists.txt +++ b/src/3rdparty/CMakeLists.txt @@ -1,4 +1,4 @@ if(QT_FEATURE_taglib AND NOT QT_FEATURE_system_taglib) add_subdirectory(taglib) endif() -#qt_install_3rdparty_library_wrap_config_extra_file(BundledLibpng) +qt_install_3rdparty_library_wrap_config_extra_file(BundledTagLib) diff --git a/src/3rdparty/taglib/CMakeLists.txt b/src/3rdparty/taglib/CMakeLists.txt index 0ba0dd9..c94728d 100644 --- a/src/3rdparty/taglib/CMakeLists.txt +++ b/src/3rdparty/taglib/CMakeLists.txt @@ -2,6 +2,36 @@ ## BundledTagLib Generic Library: ##################################################################### +set(INCLUDE_DIRECTORIES + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ + $ +) + qt_internal_add_3rdparty_library(BundledTagLib QMAKE_LIB_NAME taglib SKIP_AUTOMOC @@ -113,34 +143,8 @@ qt_internal_add_3rdparty_library(BundledTagLib PNG_ARM_NEON_OPT=0 PNG_POWERPC_VSX_OPT=0 MAKE_TAGLIB_LIB - INCLUDE_DIRECTORIES - ${CMAKE_CURRENT_SOURCE_DIR} - taglib - taglib/taglib - taglib/taglib/ape - taglib/taglib/asf - taglib/taglib/flac - taglib/taglib/it - taglib/taglib/mod - taglib/taglib/mp4 - taglib/taglib/mpc - taglib/taglib/mpeg - taglib/taglib/mpeg/id3v1 - taglib/taglib/mpeg/id3v2 - taglib/taglib/mpeg/id3v2/frames - taglib/taglib/ogg - taglib/taglib/ogg/flac - taglib/taglib/ogg/opus - taglib/taglib/ogg/speex - taglib/taglib/ogg/vorbis - taglib/taglib/riff - taglib/taglib/riff/aiff - taglib/taglib/riff/wav - taglib/taglib/s3m - taglib/taglib/toolkit - taglib/taglib/trueaudio - taglib/taglib/wavpack - taglib/taglib/xm + PUBLIC_INCLUDE_DIRECTORIES + ${INCLUDE_DIRECTORIES} ) qt_disable_warnings(BundledTagLib) qt_set_symbol_visibility_hidden(BundledTagLib) @@ -149,3 +153,5 @@ qt_internal_extend_target(BundledTagLib CONDITION UNIX SOURCES taglib/taglib/toolkit/unicode.cpp ) + +target_include_directories(BundledTagLib SYSTEM PUBLIC ${INCLUDE_DIRECTORIES}) diff --git a/src/plugins/ivimedia/media_qtro/CMakeLists.txt b/src/plugins/ivimedia/media_qtro/CMakeLists.txt index 97e003d..f074ae1 100644 --- a/src/plugins/ivimedia/media_qtro/CMakeLists.txt +++ b/src/plugins/ivimedia/media_qtro/CMakeLists.txt @@ -19,7 +19,7 @@ qt_internal_add_plugin(MediaQtROPlugin Qt::IviCore Qt::IviMedia Qt::RemoteObjects - iviremoteobjects_helper_private + Qt::IviRemoteObjectsHelper ) qt6_add_repc_replicas(MediaQtROPlugin ../../../tools/media-simulation-server/qivimediaindexer.rep diff --git a/src/plugins/ivimedia/media_qtro/searchandbrowsemodel.cpp b/src/plugins/ivimedia/media_qtro/searchandbrowsemodel.cpp index 9c86a23..8f24d67 100644 --- a/src/plugins/ivimedia/media_qtro/searchandbrowsemodel.cpp +++ b/src/plugins/ivimedia/media_qtro/searchandbrowsemodel.cpp @@ -43,6 +43,7 @@ #include #include +#include Q_LOGGING_CATEGORY(qLcROQIviSearchAndBrowseModel, "qtivi.media.qivisearchandbrowsebackend.remoteobjects", QtInfoMsg) diff --git a/src/plugins/ivimedia/media_simulator/mediaplayerbackend.cpp b/src/plugins/ivimedia/media_simulator/mediaplayerbackend.cpp index 8f2eaad..258b47a 100644 --- a/src/plugins/ivimedia/media_simulator/mediaplayerbackend.cpp +++ b/src/plugins/ivimedia/media_simulator/mediaplayerbackend.cpp @@ -68,7 +68,7 @@ MediaPlayerBackend::MediaPlayerBackend(const QSqlDatabase &database, QObject *pa this, &MediaPlayerBackend::onDurationChanged); connect(m_player, &QMediaPlayer::positionChanged, this, &MediaPlayerBackend::onPositionChanged); - connect(m_player, &QMediaPlayer::stateChanged, + connect(m_player, &QMediaPlayer::playbackStateChanged, this, &MediaPlayerBackend::onStateChanged); connect(m_player, &QMediaPlayer::mediaStatusChanged, this, &MediaPlayerBackend::onMediaStatusChanged); @@ -96,11 +96,7 @@ void MediaPlayerBackend::initialize() void MediaPlayerBackend::play() { qCDebug(media) << Q_FUNC_INFO; -#if (QT_VERSION >= QT_VERSION_CHECK(5, 14, 0)) - qCDebug(media) << m_player->media().request().url(); -#else - qCDebug(media) << m_player->media().canonicalUrl(); -#endif + qCDebug(media) << m_player->source(); m_requestedState = QIviMediaPlayer::Playing; m_player->play(); } @@ -130,7 +126,7 @@ void MediaPlayerBackend::next() qCDebug(media) << Q_FUNC_INFO; int nextIndex = m_currentIndex + 1; if (m_playMode == QIviMediaPlayer::Shuffle) - nextIndex = qrand() % m_count; + nextIndex = QRandomGenerator::global()->bounded(m_count); else if (m_playMode == QIviMediaPlayer::RepeatTrack) nextIndex = m_currentIndex; else if (m_playMode == QIviMediaPlayer::RepeatAll && nextIndex >= m_count) @@ -144,7 +140,7 @@ void MediaPlayerBackend::previous() qCDebug(media) << Q_FUNC_INFO; int nextIndex = m_currentIndex - 1; if (m_playMode == QIviMediaPlayer::Shuffle) - nextIndex = qrand() % m_count; + nextIndex = QRandomGenerator::global()->bounded(m_count); else if (m_playMode == QIviMediaPlayer::RepeatTrack) nextIndex = m_currentIndex; else if (m_playMode == QIviMediaPlayer::RepeatAll && nextIndex < 0) @@ -174,13 +170,15 @@ void MediaPlayerBackend::fetchData(const QUuid &identifier, int start, int count QStringList queries; queries.append(queryString); - QtConcurrent::run(m_threadPool, + auto future = QtConcurrent::run(m_threadPool, &MediaPlayerBackend::doSqlOperation, this, MediaPlayerBackend::Select, queries, identifier, start, count); + // QtConcurrent::run doesn't allow ignoring the return value + Q_UNUSED(future); } void MediaPlayerBackend::insert(int index, const QVariant &i) @@ -216,10 +214,12 @@ void MediaPlayerBackend::insert(int index, const QVariant &i) } QStringList queries = queryString.split(';'); - QtConcurrent::run(m_threadPool, + auto future = QtConcurrent::run(m_threadPool, &MediaPlayerBackend::doSqlOperation, this, MediaPlayerBackend::Insert, queries, QUuid(), index, 0); + // QtConcurrent::run doesn't allow ignoring the return value + Q_UNUSED(future); } void MediaPlayerBackend::remove(int index) @@ -229,10 +229,12 @@ void MediaPlayerBackend::remove(int index) .arg(index); QStringList queries = queryString.split(';'); - QtConcurrent::run(m_threadPool, + auto future = QtConcurrent::run(m_threadPool, &MediaPlayerBackend::doSqlOperation, this, MediaPlayerBackend::Remove, queries, QUuid(), index, 1); + // QtConcurrent::run doesn't allow ignoring the return value + Q_UNUSED(future); } void MediaPlayerBackend::move(int cur_index, int new_index) @@ -252,10 +254,12 @@ void MediaPlayerBackend::move(int cur_index, int new_index) .arg(delta > 0 ? QStringLiteral("-") : QStringLiteral("+")); QStringList queries = queryString.split(';'); - QtConcurrent::run(m_threadPool, + auto future = QtConcurrent::run(m_threadPool, &MediaPlayerBackend::doSqlOperation, this, MediaPlayerBackend::Move, queries, QUuid(), cur_index, new_index); + // QtConcurrent::run doesn't allow ignoring the return value + Q_UNUSED(future); } QIviMediaPlayer::PlayMode MediaPlayerBackend::playMode() const @@ -414,7 +418,7 @@ void MediaPlayerBackend::setCurrentIndex(int index) //If we the list is empty the current Index needs to updated to an invalid track if (m_count == 0 && index == -1) { m_currentIndex = index; - m_player->setMedia(QUrl()); + m_player->setSource(QUrl()); emit currentTrackChanged(QVariant()); emit currentIndexChanged(m_currentIndex); emit durationChanged(0); @@ -432,10 +436,12 @@ void MediaPlayerBackend::setCurrentIndex(int index) QStringList queries; queries.append(queryString); - QtConcurrent::run(m_threadPool, + auto future = QtConcurrent::run(m_threadPool, &MediaPlayerBackend::doSqlOperation, this, MediaPlayerBackend::SetIndex, queries, QUuid(), m_currentIndex, 0); + // QtConcurrent::run doesn't allow ignoring the return value + Q_UNUSED(future); } void MediaPlayerBackend::setVolume(int volume) @@ -456,7 +462,7 @@ void MediaPlayerBackend::setMuted(bool muted) } } -void MediaPlayerBackend::onStateChanged(QMediaPlayer::State state) +void MediaPlayerBackend::onStateChanged(QMediaPlayer::PlaybackState state) { qCDebug(media) << Q_FUNC_INFO << state; if (state == QMediaPlayer::PlayingState) @@ -490,8 +496,8 @@ void MediaPlayerBackend::onDurationChanged(qint64 duration) void MediaPlayerBackend::onPlayTrack(const QUrl &url) { - bool playing = m_player->state() == QMediaPlayer::PlayingState || m_player->mediaStatus() == QMediaPlayer::EndOfMedia; - m_player->setMedia(url); + bool playing = m_player->playbackState() == QMediaPlayer::PlayingState || m_player->mediaStatus() == QMediaPlayer::EndOfMedia; + m_player->setSource(url); if (playing) m_player->play(); } diff --git a/src/plugins/ivimedia/media_simulator/mediaplayerbackend.h b/src/plugins/ivimedia/media_simulator/mediaplayerbackend.h index 48973c1..b5762c1 100644 --- a/src/plugins/ivimedia/media_simulator/mediaplayerbackend.h +++ b/src/plugins/ivimedia/media_simulator/mediaplayerbackend.h @@ -110,7 +110,7 @@ public Q_SLOTS: void doSqlOperation(MediaPlayerBackend::OperationType type, const QStringList &queries, const QUuid &identifier, int start, int count); private Q_SLOTS: - void onStateChanged(QMediaPlayer::State state); + void onStateChanged(QMediaPlayer::PlaybackState state); void onMediaStatusChanged(QMediaPlayer::MediaStatus status); void onPositionChanged(qint64 position); void onDurationChanged(qint64 duration); diff --git a/src/plugins/ivimedia/media_simulator/searchandbrowsebackend.cpp b/src/plugins/ivimedia/media_simulator/searchandbrowsebackend.cpp index e23843d..57abaeb 100644 --- a/src/plugins/ivimedia/media_simulator/searchandbrowsebackend.cpp +++ b/src/plugins/ivimedia/media_simulator/searchandbrowsebackend.cpp @@ -207,7 +207,8 @@ void SearchAndBrowseBackend::fetchData(const QUuid &identifier, int start, int c whereClause.isEmpty() ? QString() : QStringLiteral("WHERE ") + whereClause, groupBy.isEmpty() ? QString() : QStringLiteral("GROUP BY ") + groupBy); - QtConcurrent::run(m_threadPool, [this, countQuery, identifier]() { + // QtConcurrent::run doesn't allow ignoring the return value + auto future = QtConcurrent::run(m_threadPool, [this, countQuery, identifier]() { QSqlQuery query(m_db); if (query.exec(countQuery)) { while (query.next()) { @@ -226,7 +227,8 @@ void SearchAndBrowseBackend::fetchData(const QUuid &identifier, int start, int c QString::number(start), QString::number(count)); - QtConcurrent::run(m_threadPool, + // QtConcurrent::run doesn't allow ignoring the return value + future = QtConcurrent::run(m_threadPool, &SearchAndBrowseBackend::search, this, identifier, @@ -372,7 +374,7 @@ QString SearchAndBrowseBackend::createWhereClause(const QString &type, QIviAbstr QString operatorString; bool negated = filter->isNegated(); QString value; - if (filter->value().type() == QVariant::String) + if (filter->value().typeId() == QMetaType::QString) value = QStringLiteral("'%1'").arg(filter->value().toString().replace('*', '%')); else value = filter->value().toString(); diff --git a/src/tools/media-simulation-server/CMakeLists.txt b/src/tools/media-simulation-server/CMakeLists.txt index 2dbf168..9bbb7bf 100644 --- a/src/tools/media-simulation-server/CMakeLists.txt +++ b/src/tools/media-simulation-server/CMakeLists.txt @@ -5,7 +5,7 @@ ##################################################################### qt_get_tool_target_name(target_name ivimedia-simulation-server) -qt_add_tool(${target_name} +qt_internal_add_tool(${target_name} SOURCES ../../plugins/ivimedia/media_simulator/database_helper.h ../../plugins/ivimedia/media_simulator/logging.cpp ../../plugins/ivimedia/media_simulator/logging.h @@ -30,7 +30,7 @@ qt_add_tool(${target_name} Qt::RemoteObjects Qt::Sql WrapTagLib::WrapTagLib - iviremoteobjects_helper_private + Qt::IviRemoteObjectsHelper ) qt6_add_repc_sources(ivimedia-simulation-server qivimediaindexer.rep diff --git a/src/tools/media-simulation-server/qivimediaplayerqtroadapter.cpp b/src/tools/media-simulation-server/qivimediaplayerqtroadapter.cpp index 2dff9b2..e594047 100644 --- a/src/tools/media-simulation-server/qivimediaplayerqtroadapter.cpp +++ b/src/tools/media-simulation-server/qivimediaplayerqtroadapter.cpp @@ -58,7 +58,7 @@ QIviMediaPlayerQtRoAdapter::QIviMediaPlayerQtRoAdapter(const QString& remoteObje connect(m_backend, &MediaPlayerBackend::durationChanged, this, &QIviMediaPlayerQtRoAdapter::durationChanged); connect(m_backend, &MediaPlayerBackend::currentIndexChanged, this, &QIviMediaPlayerQtRoAdapter::currentIndexChanged); connect(m_backend, &MediaPlayerBackend::currentTrackChanged, this, [this](const QVariant ¤tTrack) { - emit currentTrackChanged(QVariant(QMetaType::QVariant, ¤tTrack)); + emit currentTrackChanged(QVariant(QMetaType(QMetaType::QVariant), ¤tTrack)); }); connect(m_backend, &MediaPlayerBackend::volumeChanged, this, &QIviMediaPlayerQtRoAdapter::volumeChanged); connect(m_backend, &MediaPlayerBackend::mutedChanged, this, &QIviMediaPlayerQtRoAdapter::mutedChanged); -- cgit v1.2.3