Merge lp:~phablet-team/qtubuntu-media/mediascanner-dependency-removal into lp:qtubuntu-media

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
Reviewer Review Type Date Requested Status
Alfonso Sanchez-Beato 2015-10-19 Approve on 2015-10-19
Review via email: mp+274914@code.launchpad.net

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.

LGTM

review: Approve
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)

Subscribers

People subscribed via source and target branches

to all changes: