aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@qt.io>2021-05-31 13:03:13 +0200
committerDominik Holland <dominik.holland@qt.io>2021-06-02 22:14:42 +0200
commit96cf2fd294c6d990cbbc286e83e1db51ac36ea6a (patch)
treefc1badfe8b8fe03e43914f3b3ff540bf6791e719
parent6708c9ca5a282b1f830239d39be95efbab451ab8 (diff)
Enable building with the new QtMultimedia module
Change-Id: I625d9ce22823b96f6750a7a3e05c112187b5c19a Reviewed-by: Robert Griebl <robert.griebl@qt.io>
-rw-r--r--src/3rdparty/CMakeLists.txt2
-rw-r--r--src/3rdparty/taglib/CMakeLists.txt62
-rw-r--r--src/plugins/ivimedia/media_qtro/CMakeLists.txt2
-rw-r--r--src/plugins/ivimedia/media_qtro/searchandbrowsemodel.cpp1
-rw-r--r--src/plugins/ivimedia/media_simulator/mediaplayerbackend.cpp40
-rw-r--r--src/plugins/ivimedia/media_simulator/mediaplayerbackend.h2
-rw-r--r--src/plugins/ivimedia/media_simulator/searchandbrowsebackend.cpp8
-rw-r--r--src/tools/media-simulation-server/CMakeLists.txt4
-rw-r--r--src/tools/media-simulation-server/qivimediaplayerqtroadapter.cpp2
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
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/ape>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/asf>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/flac>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/it>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/mod>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/mp4>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/mpc>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/mpeg>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/mpeg/id3v1>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/mpeg/id3v2>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/mpeg/id3v2/frames>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/ogg>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/ogg/flac>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/ogg/opus>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/ogg/speex>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/ogg/vorbis>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/riff>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/riff/aiff>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/riff/wav>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/s3m>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/toolkit>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/trueaudio>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/wavpack>
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/taglib/taglib/xm>
+)
+
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 <QTimer>
#include <QSettings>
+#include <QIODevice>
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 &currentTrack) {
- emit currentTrackChanged(QVariant(QMetaType::QVariant, &currentTrack));
+ emit currentTrackChanged(QVariant(QMetaType(QMetaType::QVariant), &currentTrack));
});
connect(m_backend, &MediaPlayerBackend::volumeChanged, this, &QIviMediaPlayerQtRoAdapter::volumeChanged);
connect(m_backend, &MediaPlayerBackend::mutedChanged, this, &QIviMediaPlayerQtRoAdapter::mutedChanged);