Merge lp:~phablet-team/qtubuntu-media/mediascanner-dependency-removal into lp:qtubuntu-media
- mediascanner-dependency-removal
- Merge into trunk
Proposed by
Jim Hodapp
on 2015-10-19
| Status: | Merged |
|---|---|
| Approved by: | Alfonso Sanchez-Beato on 2015-10-19 |
| Approved revision: | 89 |
| Merged at revision: | 87 |
| Proposed branch: | lp:~phablet-team/qtubuntu-media/mediascanner-dependency-removal |
| Merge into: | lp:qtubuntu-media |
| Diff against target: |
694 lines (+11/-541) 14 files modified
debian/control (+1/-11) src/aal/aal.pro (+2/-4) src/aal/aalmediaplayerservice.cpp (+0/-1) src/aal/aalmediaplayerserviceplugin.cpp (+0/-1) src/aal/aalmetadatareadercontrol.cpp (+0/-148) src/aal/aalmetadatareadercontrol.h (+0/-70) tests/unit/service.cpp (+4/-0) tests/unit/service.h (+1/-0) tests/unit/setup_mediascanner.sh (+0/-46) tests/unit/tst_mediaplayerplugin.cpp (+1/-12) tests/unit/tst_mediaplaylistcontrol.cpp (+0/-1) tests/unit/tst_metadatareadercontrol.cpp (+0/-168) tests/unit/tst_metadatareadercontrol.h (+0/-72) tests/unit/unit.pro (+2/-7) |
| To merge this branch: | bzr merge lp:~phablet-team/qtubuntu-media/mediascanner-dependency-removal |
| Related bugs: |
| Reviewer | Review Type | Date Requested | Status |
|---|---|---|---|
| Alfonso Sanchez-Beato | 2015-10-19 | Approve on 2015-10-19 | |
|
Review via email:
|
|||
Commit Message
* Get rid of the unnecessary dependency on libmediascanner.
* Update mock service interface with changes from media-hub.
Description of the Change
* Get rid of the unnecessary dependency on libmediascanner.
* Update mock service interface with changes from media-hub.
To post a comment you must log in.
lp:~phablet-team/qtubuntu-media/mediascanner-dependency-removal
updated
on 2015-10-19
- 90. By Jim Hodapp on 2015-10-19
-
Remove more related to no longer used mediascanner functionality.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
| 1 | === modified file 'debian/control' |
| 2 | --- debian/control 2015-09-03 08:23:32 +0000 |
| 3 | +++ debian/control 2015-10-19 16:20:14 +0000 |
| 4 | @@ -19,15 +19,6 @@ |
| 5 | qtbase5-dev, |
| 6 | qtdeclarative5-dev, |
| 7 | qtmultimedia5-dev, |
| 8 | - libmediascanner-2.0-dev, |
| 9 | -# Since we need mediascanner2.0 to start while building this package, we |
| 10 | -# add it as a build-dep. |
| 11 | - mediascanner2.0, |
| 12 | -# Since we need media-hub to start while building this package, we |
| 13 | -# add it as a build-dep. |
| 14 | - media-hub, |
| 15 | - libmedia-hub-common4, |
| 16 | - libmedia-hub-client4, |
| 17 | Standards-Version: 3.9.4 |
| 18 | # If you don't have commit rights to lp:qtubuntu-media but need to upload |
| 19 | # packaging changes, just go ahead. The developers will notice and sync |
| 20 | @@ -43,8 +34,7 @@ |
| 21 | Provides: mediaplayerplugin-aal |
| 22 | Depends: ${misc:Depends}, |
| 23 | ${shlibs:Depends}, |
| 24 | - qtvideonode-plugin, |
| 25 | - libmediascanner-2.0-3 |
| 26 | + qtvideonode-plugin |
| 27 | Description: QtMultimedia plugin for AAL+ |
| 28 | Video and audio playback plugin that interfaces Qt with |
| 29 | the hybris media backend on Android. |
| 30 | |
| 31 | === modified file 'src/aal/aal.pro' |
| 32 | --- src/aal/aal.pro 2015-07-07 20:55:29 +0000 |
| 33 | +++ src/aal/aal.pro 2015-10-19 16:20:14 +0000 |
| 34 | @@ -9,12 +9,10 @@ |
| 35 | target.path += $$[QT_INSTALL_PLUGINS]/$${PLUGIN_TYPE} |
| 36 | INSTALLS = target |
| 37 | |
| 38 | -INCLUDEPATH += /usr/include/hybris /usr/include/libqtubuntu-media-signals \ |
| 39 | - /usr/include/mediascanner-2.0 |
| 40 | +INCLUDEPATH += /usr/include/hybris /usr/include/libqtubuntu-media-signals |
| 41 | LIBS += \ |
| 42 | -lhybris-common -lubuntu_application_api -lmedia -lqtubuntu-media-signals \ |
| 43 | - -lmedia-hub-client \ |
| 44 | - -lmediascanner-2.0 |
| 45 | + -lmedia-hub-client |
| 46 | |
| 47 | OTHER_FILES += aalmediaplayer.json |
| 48 | |
| 49 | |
| 50 | === modified file 'src/aal/aalmediaplayerservice.cpp' |
| 51 | --- src/aal/aalmediaplayerservice.cpp 2015-08-18 15:49:35 +0000 |
| 52 | +++ src/aal/aalmediaplayerservice.cpp 2015-10-19 16:20:14 +0000 |
| 53 | @@ -16,7 +16,6 @@ |
| 54 | |
| 55 | #include "aalmediaplayercontrol.h" |
| 56 | #include "aalmediaplayerservice.h" |
| 57 | -#include "aalmetadatareadercontrol.h" |
| 58 | #include "aalmediaplaylistcontrol.h" |
| 59 | #include "aalmediaplaylistprovider.h" |
| 60 | #include "aalutility.h" |
| 61 | |
| 62 | === modified file 'src/aal/aalmediaplayerserviceplugin.cpp' |
| 63 | --- src/aal/aalmediaplayerserviceplugin.cpp 2015-07-16 20:36:44 +0000 |
| 64 | +++ src/aal/aalmediaplayerserviceplugin.cpp 2015-10-19 16:20:14 +0000 |
| 65 | @@ -16,7 +16,6 @@ |
| 66 | |
| 67 | #include "aalmediaplayerserviceplugin.h" |
| 68 | #include "aalmediaplayerservice.h" |
| 69 | -#include "aalmetadatareadercontrol.h" |
| 70 | |
| 71 | #include <QDebug> |
| 72 | |
| 73 | |
| 74 | === removed file 'src/aal/aalmetadatareadercontrol.cpp' |
| 75 | --- src/aal/aalmetadatareadercontrol.cpp 2015-02-18 16:41:04 +0000 |
| 76 | +++ src/aal/aalmetadatareadercontrol.cpp 1970-01-01 00:00:00 +0000 |
| 77 | @@ -1,148 +0,0 @@ |
| 78 | -/* |
| 79 | - * Copyright (C) 2015 Canonical, Ltd. |
| 80 | - * |
| 81 | - * This program is free software; you can redistribute it and/or modify |
| 82 | - * it under the terms of the GNU Lesser General Public License as published by |
| 83 | - * the Free Software Foundation; version 3. |
| 84 | - * |
| 85 | - * This program is distributed in the hope that it will be useful, |
| 86 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 87 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 88 | - * GNU General Public License for more details. |
| 89 | - * |
| 90 | - * You should have received a copy of the GNU Lesser General Public License |
| 91 | - * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 92 | - */ |
| 93 | - |
| 94 | -#include "aalmetadatareadercontrol.h" |
| 95 | - |
| 96 | -#include <mediascanner/MediaFile.hh> |
| 97 | -#include <mediascanner/MediaStore.hh> |
| 98 | - |
| 99 | -#include <QDate> |
| 100 | -#include <QDateTime> |
| 101 | -#include <QDebug> |
| 102 | -#include <QMediaMetaData> |
| 103 | -#include <QSize> |
| 104 | - |
| 105 | -using namespace mediascanner; |
| 106 | - |
| 107 | -AalMetaDataReaderControl::AalMetaDataReaderControl(QObject *parent) |
| 108 | - : QMetaDataReaderControl(parent), |
| 109 | - m_available(false) |
| 110 | -{ |
| 111 | -} |
| 112 | - |
| 113 | -bool AalMetaDataReaderControl::isMetaDataAvailable() const |
| 114 | -{ |
| 115 | - return m_available; |
| 116 | -} |
| 117 | - |
| 118 | -QVariant AalMetaDataReaderControl::metaData(const QString &key) const |
| 119 | -{ |
| 120 | - qDebug() << Q_FUNC_INFO; |
| 121 | - return m_metadata.value(key); |
| 122 | -} |
| 123 | - |
| 124 | -QStringList AalMetaDataReaderControl::availableMetaData() const |
| 125 | -{ |
| 126 | - return m_metadata.keys(); |
| 127 | -} |
| 128 | - |
| 129 | -void AalMetaDataReaderControl::onMediaChanged(const QMediaContent &media) |
| 130 | -{ |
| 131 | - qDebug() << Q_FUNC_INFO; |
| 132 | - m_mediaContent = media; |
| 133 | - updateMetaData(); |
| 134 | -} |
| 135 | - |
| 136 | -void AalMetaDataReaderControl::onUpdateMetaData() |
| 137 | -{ |
| 138 | - qDebug() << Q_FUNC_INFO; |
| 139 | - if (m_mediaContent.isNull()) |
| 140 | - return; |
| 141 | - |
| 142 | - updateMetaData(); |
| 143 | -} |
| 144 | - |
| 145 | -void AalMetaDataReaderControl::updateMetaData() |
| 146 | -{ |
| 147 | - qDebug() << Q_FUNC_INFO; |
| 148 | - if (m_mediaContent.isNull()) |
| 149 | - { |
| 150 | - qWarning() << "Not updating metadata since the source has not been set."; |
| 151 | - return; |
| 152 | - } |
| 153 | - |
| 154 | - m_metadata.clear(); |
| 155 | - |
| 156 | - bool isVideo = false, isAudio = false, isImage = false; |
| 157 | - try { |
| 158 | - MediaStore store(MS_READ_ONLY); |
| 159 | - qDebug() << "Doing a mediascanner lookup of file: " << m_mediaContent.canonicalUrl().toString(QUrl::RemoveScheme); |
| 160 | - MediaFile mf = store.lookup(m_mediaContent.canonicalUrl().toString(QUrl::RemoveScheme).toStdString()); |
| 161 | - |
| 162 | - isVideo = (mf.getType() == VideoMedia); |
| 163 | - isAudio = (mf.getType() == AudioMedia); |
| 164 | - isImage = (mf.getType() == ImageMedia); |
| 165 | - |
| 166 | - m_metadata.insert(QMediaMetaData::Title, QString(mf.getTitle().c_str())); |
| 167 | - m_metadata.insert(QMediaMetaData::Author, QStringList(QString(mf.getAuthor().c_str()))); |
| 168 | - { |
| 169 | - QString format = "yyyy-MM-ddThh:mm:ss"; |
| 170 | - QDateTime datetime = QDateTime::fromString(QString(mf.getDate().c_str()), format); |
| 171 | - m_metadata.insert(QMediaMetaData::Date, datetime.date()); |
| 172 | - } |
| 173 | - m_metadata.insert(QMediaMetaData::Genre, QStringList(QString(mf.getGenre().c_str()))); |
| 174 | - m_metadata.insert(QMediaMetaData::Duration, static_cast<qint64>(mf.getDuration())); |
| 175 | - |
| 176 | - // Metadata specific to video goes here: |
| 177 | - if (isVideo) |
| 178 | - { |
| 179 | - m_metadata.insert(QMediaMetaData::Resolution, QSize(mf.getWidth(), mf.getHeight())); |
| 180 | - } |
| 181 | - |
| 182 | - // Metadata specific to audio/music goes here: |
| 183 | - if (isAudio) |
| 184 | - { |
| 185 | - m_metadata.insert(QMediaMetaData::AlbumTitle, QString(mf.getAlbum().c_str())); |
| 186 | - m_metadata.insert(QMediaMetaData::AlbumArtist, QString(mf.getAlbumArtist().c_str())); |
| 187 | - m_metadata.insert(QMediaMetaData::CoverArtUrlSmall, QUrl(mf.getArtUri().c_str())); |
| 188 | - m_metadata.insert(QMediaMetaData::CoverArtUrlLarge, QUrl(mf.getArtUri().c_str())); |
| 189 | - m_metadata.insert(QMediaMetaData::TrackNumber, mf.getTrackNumber()); |
| 190 | - } |
| 191 | - |
| 192 | - // Metadata specific to images goes here: |
| 193 | - if (isImage) |
| 194 | - { |
| 195 | - if (m_metadata.value(QMediaMetaData::Resolution).value<QSize>().isEmpty()) |
| 196 | - m_metadata.insert(QMediaMetaData::Resolution, QSize(mf.getWidth(), mf.getHeight())); |
| 197 | - |
| 198 | - m_metadata.insert(QMediaMetaData::GPSLatitude, mf.getLatitude()); |
| 199 | - m_metadata.insert(QMediaMetaData::GPSLongitude, mf.getLongitude()); |
| 200 | - } |
| 201 | - |
| 202 | - qDebug() << "-----------------------------------------------------"; |
| 203 | - qDebug() << "Media type: " << ((isVideo) ? "video" : "audio"); |
| 204 | - qDebug() << "Media title: " << mf.getTitle().c_str(); |
| 205 | - qDebug() << "Media author: " << mf.getAuthor().c_str(); |
| 206 | - qDebug() << "Media date: " << mf.getDate().c_str(); |
| 207 | - qDebug() << "Media genre: " << mf.getGenre().c_str(); |
| 208 | - qDebug() << "Media duration: " << mf.getDuration(); |
| 209 | - qDebug() << "Media height: " << mf.getHeight(); |
| 210 | - qDebug() << "Media width: " << mf.getWidth(); |
| 211 | - qDebug() << "Latitude: " << mf.getLatitude(); |
| 212 | - qDebug() << "Longitude: " << mf.getLongitude(); |
| 213 | - qDebug() << "-----------------------------------------------------"; |
| 214 | - } catch (std::runtime_error &e) { |
| 215 | - qWarning() << "Caught runtime exception from mediascanner: " << e.what(); |
| 216 | - } |
| 217 | - |
| 218 | - bool previousAvailable = m_available; |
| 219 | - m_available = !m_metadata.isEmpty(); |
| 220 | - |
| 221 | - if (m_available != previousAvailable) |
| 222 | - Q_EMIT metaDataAvailableChanged(m_available); |
| 223 | - |
| 224 | - Q_EMIT metaDataChanged(); |
| 225 | -} |
| 226 | |
| 227 | === removed file 'src/aal/aalmetadatareadercontrol.h' |
| 228 | --- src/aal/aalmetadatareadercontrol.h 2015-02-18 16:41:04 +0000 |
| 229 | +++ src/aal/aalmetadatareadercontrol.h 1970-01-01 00:00:00 +0000 |
| 230 | @@ -1,70 +0,0 @@ |
| 231 | -/* |
| 232 | - * Copyright (C) 2015 Canonical, Ltd. |
| 233 | - * |
| 234 | - * This program is free software; you can redistribute it and/or modify |
| 235 | - * it under the terms of the GNU Lesser General Public License as published by |
| 236 | - * the Free Software Foundation; version 3. |
| 237 | - * |
| 238 | - * This program is distributed in the hope that it will be useful, |
| 239 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 240 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 241 | - * GNU General Public License for more details. |
| 242 | - * |
| 243 | - * You should have received a copy of the GNU Lesser General Public License |
| 244 | - * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 245 | - */ |
| 246 | - |
| 247 | -#ifndef AALMETADATAREADERCONTROL_H |
| 248 | -#define AALMETADATAREADERCONTROL_H |
| 249 | - |
| 250 | -#include <QMetaDataReaderControl> |
| 251 | -#include <qmediacontent.h> |
| 252 | - |
| 253 | -class tst_MetaDataReaderControl; |
| 254 | - |
| 255 | -QT_BEGIN_NAMESPACE |
| 256 | - |
| 257 | -class AalMetaDataReaderControl : public QMetaDataReaderControl |
| 258 | -{ |
| 259 | - Q_OBJECT |
| 260 | - |
| 261 | - // For unit testing purposes |
| 262 | - friend class tst_MetaDataReaderControl; |
| 263 | - |
| 264 | -public: |
| 265 | - explicit AalMetaDataReaderControl(QObject *parent = 0); |
| 266 | - |
| 267 | - /** |
| 268 | - * @brief Returns whether there is any metadata available to read for the given media source. |
| 269 | - */ |
| 270 | - bool isMetaDataAvailable() const Q_DECL_OVERRIDE; |
| 271 | - |
| 272 | - /** |
| 273 | - * @brief Returns a metadata value given a metadata key name. See QMediaMetaData for a list of keys. |
| 274 | - * @return Returns a QVariant with the metadata value. |
| 275 | - */ |
| 276 | - QVariant metaData(const QString &key) const Q_DECL_OVERRIDE; |
| 277 | - /** |
| 278 | - * @brief Returns a list of key names for which metadata values are available. |
| 279 | - * @return Returns a QStringList of key names. |
| 280 | - */ |
| 281 | - QStringList availableMetaData() const Q_DECL_OVERRIDE; |
| 282 | - |
| 283 | -public Q_SLOTS: |
| 284 | - void onMediaChanged(const QMediaContent &media); |
| 285 | - /** |
| 286 | - * @brief Updates the internal metadata metadata store from the mediascanner for the given media source. |
| 287 | - **/ |
| 288 | - void onUpdateMetaData(); |
| 289 | - |
| 290 | -private: |
| 291 | - void updateMetaData(); |
| 292 | - |
| 293 | - QMediaContent m_mediaContent; |
| 294 | - bool m_available; |
| 295 | - QVariantMap m_metadata; |
| 296 | -}; |
| 297 | - |
| 298 | -QT_END_NAMESPACE |
| 299 | - |
| 300 | -#endif // AALMETADATAREADERCONTROL_H |
| 301 | |
| 302 | === modified file 'tests/unit/service.cpp' |
| 303 | --- tests/unit/service.cpp 2015-06-08 19:15:43 +0000 |
| 304 | +++ tests/unit/service.cpp 2015-10-19 16:20:14 +0000 |
| 305 | @@ -54,6 +54,10 @@ |
| 306 | return 0; |
| 307 | } |
| 308 | |
| 309 | +void TestService::set_current_player(Player::PlayerKey) |
| 310 | +{ |
| 311 | +} |
| 312 | + |
| 313 | void TestService::pause_other_sessions(Player::PlayerKey) |
| 314 | { |
| 315 | } |
| 316 | |
| 317 | === modified file 'tests/unit/service.h' |
| 318 | --- tests/unit/service.h 2015-06-08 19:15:43 +0000 |
| 319 | +++ tests/unit/service.h 2015-10-19 16:20:14 +0000 |
| 320 | @@ -50,6 +50,7 @@ |
| 321 | virtual void destroy_session(const std::string& uuid, const Player::Configuration&); |
| 322 | virtual std::shared_ptr<Player> create_fixed_session(const std::string& name, const Player::Configuration&); |
| 323 | virtual std::shared_ptr<Player> resume_session(Player::PlayerKey); |
| 324 | + virtual void set_current_player(Player::PlayerKey); |
| 325 | virtual void pause_other_sessions(Player::PlayerKey); |
| 326 | }; |
| 327 | } |
| 328 | |
| 329 | === removed file 'tests/unit/setup_mediascanner.sh' |
| 330 | --- tests/unit/setup_mediascanner.sh 2015-06-08 19:15:43 +0000 |
| 331 | +++ tests/unit/setup_mediascanner.sh 1970-01-01 00:00:00 +0000 |
| 332 | @@ -1,46 +0,0 @@ |
| 333 | -#!/bin/sh |
| 334 | -# Setup the mediascanner and copy test media into place |
| 335 | - |
| 336 | -set -e |
| 337 | - |
| 338 | -TESTFILE="testfile" |
| 339 | -DEST_PREFIX=$HOME |
| 340 | - |
| 341 | -if [ ! -d "$DEST_PREFIX/Videos" ]; then |
| 342 | - echo "Creating directory $DEST_PREFIX/Videos" |
| 343 | - mkdir -p $DEST_PREFIX/Videos |
| 344 | -fi |
| 345 | - |
| 346 | -if [ ! -d "$DEST_PREFIX/Music" ]; then |
| 347 | - echo "Creating directory $DEST_PREFIX/Music" |
| 348 | - mkdir -p $DEST_PREFIX/Music |
| 349 | -fi |
| 350 | - |
| 351 | -if [ ! -d "$DEST_PREFIX/Pictures" ]; then |
| 352 | - echo "Creating directory $DEST_PREFIX/Pictures" |
| 353 | - mkdir -p $DEST_PREFIX/Pictures |
| 354 | -fi |
| 355 | - |
| 356 | -if [ ! -f "$DEST_PREFIX/Videos/$TESTFILE.mp4" ]; then |
| 357 | - echo "Copying video/$TESTFILE.mp4 to $DEST_PREFIX/Videos/$TESTFILE.mp4" |
| 358 | - cp videos/$TESTFILE.mp4 $DEST_PREFIX/Videos/$TESTFILE.mp4 |
| 359 | -fi |
| 360 | - |
| 361 | -if [ ! -f "$DEST_PREFIX/Music/$TESTFILE.ogg" ]; then |
| 362 | - echo "Copying audio/$TESTFILE.ogg to $DEST_PREFIX/Music/$TESTFILE.ogg" |
| 363 | - cp audio/$TESTFILE.ogg $DEST_PREFIX/Music/$TESTFILE.ogg |
| 364 | -fi |
| 365 | - |
| 366 | -if [ ! -f "$DEST_PREFIX/Pictures/$TESTFILE.jpg" ]; then |
| 367 | - echo "Copying images/$TESTFILE.jpg to $DEST_PREFIX/Pictures/$TESTFILE.jpg" |
| 368 | - cp images/$TESTFILE.jpg $DEST_PREFIX/Pictures/$TESTFILE.jpg |
| 369 | -fi |
| 370 | - |
| 371 | -status mediascanner-2.0 |
| 372 | -if [ $? -ne 0 ]; then |
| 373 | - echo "mediascanner-2.0 not running, starting" |
| 374 | - start mediascanner-2.0 |
| 375 | -else |
| 376 | - echo "restarting mediascanner-2.0" |
| 377 | - restart mediascanner-2.0 |
| 378 | -fi |
| 379 | |
| 380 | === modified file 'tests/unit/tst_mediaplayerplugin.cpp' |
| 381 | --- tests/unit/tst_mediaplayerplugin.cpp 2015-07-10 17:21:59 +0000 |
| 382 | +++ tests/unit/tst_mediaplayerplugin.cpp 2015-10-19 16:20:14 +0000 |
| 383 | @@ -19,7 +19,6 @@ |
| 384 | #include "aalmediaplayerservice.h" |
| 385 | #include "aalutility.h" |
| 386 | #include "tst_mediaplayerplugin.h" |
| 387 | -#include "tst_metadatareadercontrol.h" |
| 388 | #include "tst_mediaplaylistcontrol.h" |
| 389 | |
| 390 | #include <memory> |
| 391 | @@ -144,15 +143,5 @@ |
| 392 | QCoreApplication app(argc, argv); |
| 393 | tst_MediaPlayerPlugin mpp; |
| 394 | tst_MediaPlaylistControl mpc; |
| 395 | - // FIXME: Disabled for now until we can get metadata from mediascanner without a file |
| 396 | - // first needing to be indexed. This is required so that the metadata tests will work |
| 397 | - // in the CI infrastructure. |
| 398 | - //tst_MetaDataReaderControl mdrc; |
| 399 | - //return (QTest::qExec(&mpp, argc, argv) && QTest::qExec(&mdrc, argc, argv)); |
| 400 | -#if 0 |
| 401 | - return QTest::qExec(&mpc, argc, argv); |
| 402 | - return QTest::qExec(&mpp, argc, argv); |
| 403 | -#else |
| 404 | - return 0; |
| 405 | -#endif |
| 406 | + return (QTest::qExec(&mpp, argc, argv) && QTest::qExec(&mpc, argc, argv)); |
| 407 | } |
| 408 | |
| 409 | === modified file 'tests/unit/tst_mediaplaylistcontrol.cpp' |
| 410 | --- tests/unit/tst_mediaplaylistcontrol.cpp 2015-06-08 19:16:35 +0000 |
| 411 | +++ tests/unit/tst_mediaplaylistcontrol.cpp 2015-10-19 16:20:14 +0000 |
| 412 | @@ -19,7 +19,6 @@ |
| 413 | #include "aalmediaplayerservice.h" |
| 414 | #include "aalmediaplaylistcontrol.h" |
| 415 | #include "tst_mediaplayerplugin.h" |
| 416 | -#include "tst_metadatareadercontrol.h" |
| 417 | #include "tst_mediaplaylistcontrol.h" |
| 418 | |
| 419 | #include <QObject> |
| 420 | |
| 421 | === removed file 'tests/unit/tst_metadatareadercontrol.cpp' |
| 422 | --- tests/unit/tst_metadatareadercontrol.cpp 2015-06-08 19:15:43 +0000 |
| 423 | +++ tests/unit/tst_metadatareadercontrol.cpp 1970-01-01 00:00:00 +0000 |
| 424 | @@ -1,168 +0,0 @@ |
| 425 | -/* |
| 426 | - * Copyright (C) 2015 Canonical, Ltd. |
| 427 | - * |
| 428 | - * This program is free software; you can redistribute it and/or modify |
| 429 | - * it under the terms of the GNU Lesser General Public License as published by |
| 430 | - * the Free Software Foundation; version 3. |
| 431 | - * |
| 432 | - * This program is distributed in the hope that it will be useful, |
| 433 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 434 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 435 | - * GNU General Public License for more details. |
| 436 | - * |
| 437 | - * You should have received a copy of the GNU Lesser General Public License |
| 438 | - * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 439 | - */ |
| 440 | - |
| 441 | -#include "tst_metadatareadercontrol.h" |
| 442 | -#include "aalmetadatareadercontrol.h" |
| 443 | - |
| 444 | -#include <QMediaMetaData> |
| 445 | -#include <QObject> |
| 446 | -#include <QtTest/QtTest> |
| 447 | - |
| 448 | -using namespace core::ubuntu::media; |
| 449 | - |
| 450 | -void tst_MetaDataReaderControl::initTestCase() |
| 451 | -{ |
| 452 | - m_mdControlVideo = new AalMetaDataReaderControl(this); |
| 453 | - m_mdControlAudio = new AalMetaDataReaderControl(this); |
| 454 | - m_mdControlImage = new AalMetaDataReaderControl(this); |
| 455 | - |
| 456 | - QVERIFY(m_mdControlVideo != nullptr); |
| 457 | - QVERIFY(m_mdControlAudio != nullptr); |
| 458 | - QVERIFY(m_mdControlImage != nullptr); |
| 459 | - |
| 460 | - connect(this, SIGNAL(onMediaChanged(const QMediaContent&)), m_mdControlVideo, SLOT(onMediaChanged(const QMediaContent&))); |
| 461 | - connect(this, SIGNAL(onMediaChanged(const QMediaContent&)), m_mdControlAudio, SLOT(onMediaChanged(const QMediaContent&))); |
| 462 | - connect(this, SIGNAL(onMediaChanged(const QMediaContent&)), m_mdControlImage, SLOT(onMediaChanged(const QMediaContent&))); |
| 463 | -} |
| 464 | - |
| 465 | -void tst_MetaDataReaderControl::cleanupTestCase() |
| 466 | -{ |
| 467 | - delete m_mdControlImage; |
| 468 | - delete m_mdControlAudio; |
| 469 | - delete m_mdControlVideo; |
| 470 | -} |
| 471 | - |
| 472 | -// Adapted to have custom delta from qFuzzyCompare |
| 473 | -static inline bool fuzzyCompare(double p1, double p2) |
| 474 | -{ |
| 475 | - return (qAbs(p1 - p2) <= 0.00001 * qMin(qAbs(p1), qAbs(p2))); |
| 476 | -} |
| 477 | - |
| 478 | -void tst_MetaDataReaderControl::setVideoMediaResource() |
| 479 | -{ |
| 480 | - m_mediaResource = QMediaResource(QUrl("/home/phablet/Videos/testfile.mp4")); |
| 481 | - m_media = QMediaContent(m_mediaResource); |
| 482 | - // Signal to the AalMetaDataReaderControl instance that we are setting example media to extract metadata from |
| 483 | - Q_EMIT onMediaChanged(m_media); |
| 484 | -} |
| 485 | - |
| 486 | -void tst_MetaDataReaderControl::setAudioMediaResource() |
| 487 | -{ |
| 488 | - m_mediaResource = QMediaResource(QUrl("/home/phablet/Music/testfile.ogg")); |
| 489 | - m_media = QMediaContent(m_mediaResource); |
| 490 | - // Signal to the AalMetaDataReaderControl instance that we are setting example media to extract metadata from |
| 491 | - Q_EMIT onMediaChanged(m_media); |
| 492 | -} |
| 493 | - |
| 494 | -void tst_MetaDataReaderControl::setImageMediaResource() |
| 495 | -{ |
| 496 | - m_mediaResource = QMediaResource(QUrl("/home/phablet/Pictures/testfile.jpg")); |
| 497 | - m_media = QMediaContent(m_mediaResource); |
| 498 | - // Signal to the AalMetaDataReaderControl instance that we are setting example media to extract metadata from |
| 499 | - Q_EMIT onMediaChanged(m_media); |
| 500 | -} |
| 501 | - |
| 502 | -void tst_MetaDataReaderControl::verifyResolution() |
| 503 | -{ |
| 504 | - setVideoMediaResource(); |
| 505 | - QSize resolutionSize = m_mdControlVideo->metaData(QMediaMetaData::Resolution).value<QSize>(); |
| 506 | - QCOMPARE(resolutionSize, QSize(320, 240)); |
| 507 | - |
| 508 | - setImageMediaResource(); |
| 509 | - resolutionSize = m_mdControlVideo->metaData(QMediaMetaData::Resolution).value<QSize>(); |
| 510 | - QCOMPARE(resolutionSize, QSize(2448, 3264)); |
| 511 | -} |
| 512 | - |
| 513 | -void tst_MetaDataReaderControl::verifyDuration() |
| 514 | -{ |
| 515 | - setVideoMediaResource(); |
| 516 | - qint64 duration = m_mdControlVideo->metaData(QMediaMetaData::Duration).value<qint64>(); |
| 517 | - QCOMPARE(duration, 34); |
| 518 | - |
| 519 | - setAudioMediaResource(); |
| 520 | - duration = m_mdControlVideo->metaData(QMediaMetaData::Duration).value<qint64>(); |
| 521 | - QCOMPARE(duration, 5); |
| 522 | -} |
| 523 | - |
| 524 | -void tst_MetaDataReaderControl::verifyTitle() |
| 525 | -{ |
| 526 | - setVideoMediaResource(); |
| 527 | - QString title = m_mdControlVideo->metaData(QMediaMetaData::Title).value<QString>(); |
| 528 | - QCOMPARE(title, QString("h264 title")); |
| 529 | - |
| 530 | - setAudioMediaResource(); |
| 531 | - title = m_mdControlVideo->metaData(QMediaMetaData::Title).value<QString>(); |
| 532 | - QCOMPARE(title, QString("track1")); |
| 533 | -} |
| 534 | - |
| 535 | -void tst_MetaDataReaderControl::verifyAuthor() |
| 536 | -{ |
| 537 | - setVideoMediaResource(); |
| 538 | - QString author = m_mdControlVideo->metaData(QMediaMetaData::Author).value<QString>(); |
| 539 | - QCOMPARE(author, QString("Canonical")); |
| 540 | -} |
| 541 | - |
| 542 | -void tst_MetaDataReaderControl::verifyGenre() |
| 543 | -{ |
| 544 | - setVideoMediaResource(); |
| 545 | - QString genre = m_mdControlVideo->metaData(QMediaMetaData::Genre).value<QString>(); |
| 546 | - QCOMPARE(genre, QString("Trailer")); |
| 547 | - |
| 548 | - setAudioMediaResource(); |
| 549 | - genre = m_mdControlAudio->metaData(QMediaMetaData::Genre).value<QString>(); |
| 550 | - QCOMPARE(genre, QString("Progressive Rock")); |
| 551 | -} |
| 552 | - |
| 553 | -void tst_MetaDataReaderControl::verifyDate() |
| 554 | -{ |
| 555 | - setAudioMediaResource(); |
| 556 | - QDate date = m_mdControlAudio->metaData(QMediaMetaData::Date).value<QDate>(); |
| 557 | - QCOMPARE(date, QDate(2013, 0, 0)); |
| 558 | - |
| 559 | - setImageMediaResource(); |
| 560 | - date = m_mdControlAudio->metaData(QMediaMetaData::Date).value<QDate>(); |
| 561 | - QCOMPARE(date, QDate(2015, 2, 10)); |
| 562 | -} |
| 563 | - |
| 564 | -void tst_MetaDataReaderControl::verifyAlbumTitle() |
| 565 | -{ |
| 566 | - setAudioMediaResource(); |
| 567 | - QString title = m_mdControlAudio->metaData(QMediaMetaData::AlbumTitle).value<QString>(); |
| 568 | - QCOMPARE(title, QString("album1")); |
| 569 | -} |
| 570 | - |
| 571 | -void tst_MetaDataReaderControl::verifyAlbumArtist() |
| 572 | -{ |
| 573 | - setAudioMediaResource(); |
| 574 | - QString artist = m_mdControlAudio->metaData(QMediaMetaData::AlbumArtist).value<QString>(); |
| 575 | - QCOMPARE(artist, QString("artist1")); |
| 576 | -} |
| 577 | - |
| 578 | -void tst_MetaDataReaderControl::verifyLatitude() |
| 579 | -{ |
| 580 | - setImageMediaResource(); |
| 581 | - double latitude = m_mdControlImage->metaData(QMediaMetaData::GPSLatitude).value<double>(); |
| 582 | - qDebug() << "latitude: " << latitude; |
| 583 | - QVERIFY(fuzzyCompare(latitude, 39.8566)); |
| 584 | -} |
| 585 | - |
| 586 | -void tst_MetaDataReaderControl::verifyLongitude() |
| 587 | -{ |
| 588 | - setImageMediaResource(); |
| 589 | - double longitude = m_mdControlImage->metaData(QMediaMetaData::GPSLongitude).value<double>(); |
| 590 | - qDebug() << "longitude: " << longitude; |
| 591 | - QVERIFY(fuzzyCompare(longitude, -86.1242)); |
| 592 | -} |
| 593 | |
| 594 | === removed file 'tests/unit/tst_metadatareadercontrol.h' |
| 595 | --- tests/unit/tst_metadatareadercontrol.h 2015-06-08 19:15:43 +0000 |
| 596 | +++ tests/unit/tst_metadatareadercontrol.h 1970-01-01 00:00:00 +0000 |
| 597 | @@ -1,72 +0,0 @@ |
| 598 | -/* |
| 599 | - * Copyright (C) 2015 Canonical, Ltd. |
| 600 | - * |
| 601 | - * This program is free software; you can redistribute it and/or modify |
| 602 | - * it under the terms of the GNU Lesser General Public License as published by |
| 603 | - * the Free Software Foundation; version 3. |
| 604 | - * |
| 605 | - * This program is distributed in the hope that it will be useful, |
| 606 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 607 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 608 | - * GNU General Public License for more details. |
| 609 | - * |
| 610 | - * You should have received a copy of the GNU Lesser General Public License |
| 611 | - * along with this program. If not, see <http://www.gnu.org/licenses/>. |
| 612 | - */ |
| 613 | - |
| 614 | -#ifndef TST_METADATAREADERCONTROL_H |
| 615 | -#define TST_METADATAREADERCONTROL_H |
| 616 | - |
| 617 | -#include <core/media/player.h> |
| 618 | - |
| 619 | -#include <memory> |
| 620 | - |
| 621 | -#include <QMediaContent> |
| 622 | -#include <QMediaResource> |
| 623 | -#include <QObject> |
| 624 | - |
| 625 | -class AalMetaDataReaderControl; |
| 626 | -class AalMediaPlayerService; |
| 627 | -class AalMediaPlayerControl; |
| 628 | -class QMediaControl; |
| 629 | -class QMediaPlayer; |
| 630 | - |
| 631 | -class tst_MetaDataReaderControl : public QObject |
| 632 | -{ |
| 633 | - Q_OBJECT |
| 634 | - |
| 635 | - AalMetaDataReaderControl *m_mdControlVideo; |
| 636 | - AalMetaDataReaderControl *m_mdControlAudio; |
| 637 | - AalMetaDataReaderControl *m_mdControlImage; |
| 638 | - QMediaResource m_mediaResource; |
| 639 | - QMediaContent m_media; |
| 640 | - |
| 641 | -Q_SIGNALS: |
| 642 | - void onMediaChanged(const QMediaContent &media); |
| 643 | - |
| 644 | -private Q_SLOTS: |
| 645 | - // We want the setup to be run prior to every test case to |
| 646 | - // ensure correct test isolation, see http://qt-project.org/doc/qt-5/qtest-overview.html. |
| 647 | - void initTestCase(); |
| 648 | - void cleanupTestCase(); |
| 649 | - |
| 650 | - void verifyResolution(); |
| 651 | - void verifyDuration(); |
| 652 | - void verifyTitle(); |
| 653 | - void verifyAuthor(); |
| 654 | - void verifyGenre(); |
| 655 | - |
| 656 | - void verifyDate(); |
| 657 | - void verifyAlbumTitle(); |
| 658 | - void verifyAlbumArtist(); |
| 659 | - |
| 660 | - void verifyLatitude(); |
| 661 | - void verifyLongitude(); |
| 662 | - |
| 663 | -private: |
| 664 | - void setVideoMediaResource(); |
| 665 | - void setAudioMediaResource(); |
| 666 | - void setImageMediaResource(); |
| 667 | -}; |
| 668 | - |
| 669 | -#endif // TST_METADATAREADERCONTROL_H |
| 670 | |
| 671 | === modified file 'tests/unit/unit.pro' |
| 672 | --- tests/unit/unit.pro 2015-07-07 20:55:29 +0000 |
| 673 | +++ tests/unit/unit.pro 2015-10-19 16:20:14 +0000 |
| 674 | @@ -10,11 +10,9 @@ |
| 675 | INCLUDEPATH += ../../src/aal \ |
| 676 | /usr/include/qt5/QtMultimedia \ |
| 677 | /usr/include/hybris \ |
| 678 | - /usr/include/libqtubuntu-media-signals \ |
| 679 | - /usr/include/mediascanner-2.0 |
| 680 | + /usr/include/libqtubuntu-media-signals |
| 681 | LIBS += \ |
| 682 | - -lqtubuntu-media-signals \ |
| 683 | - -lmediascanner-2.0 |
| 684 | + -lqtubuntu-media-signals |
| 685 | |
| 686 | HEADERS += \ |
| 687 | ../../src/aal/aalmediaplayercontrol.h \ |
| 688 | @@ -43,6 +41,3 @@ |
| 689 | ../../src/aal/aalmediaplayerserviceplugin.cpp \ |
| 690 | ../../src/aal/aalvideorenderercontrol.cpp \ |
| 691 | ../../src/aal/aalutility.cpp |
| 692 | - |
| 693 | -# Installs required test media into place where the mediascanner will scan them |
| 694 | -system(cd $$PWD; echo $$PWD; ./setup_mediascanner.sh) |

LGTM