Merge lp:~jhodapp/qtubuntu-media/fix-1438115-take2 into lp:qtubuntu-media

Proposed by Jim Hodapp on 2015-05-14
Status: Approved
Approved by: Alfonso Sanchez-Beato on 2015-05-19
Approved revision: 78
Proposed branch: lp:~jhodapp/qtubuntu-media/fix-1438115-take2
Merge into: lp:qtubuntu-media
Diff against target: 85 lines (+16/-1)
5 files modified
debian/control (+1/-1)
src/aal/aalmediaplayerservice.cpp (+7/-0)
src/aal/aalmediaplayerservice.h (+1/-0)
unittests/player.cpp (+6/-0)
unittests/player.h (+1/-0)
To merge this branch: bzr merge lp:~jhodapp/qtubuntu-media/fix-1438115-take2
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Needs Fixing on 2015-05-19
Alfonso Sanchez-Beato 2015-05-14 Approve on 2015-05-19
Review via email: mp+259178@code.launchpad.net

Commit Message

Signal to the client QML app when the duration has changed.

Description of the Change

Signal to the client QML app when the duration has changed.

To post a comment you must log in.
77. By Jim Hodapp on 2015-05-15

Bump the libmedia-hub-dev package dependency version.

LGTM, just one comment, see above.

review: Needs Fixing

See inline comment.

78. By Jim Hodapp on 2015-05-19

Address review comment of the need for a comment on the units of emitDurationChanged()

LGTM

review: Approve

Unmerged revisions

78. By Jim Hodapp on 2015-05-19

Address review comment of the need for a comment on the units of emitDurationChanged()

77. By Jim Hodapp on 2015-05-15

Bump the libmedia-hub-dev package dependency version.

76. By Jim Hodapp on 2015-05-14

Signal to the client QML app when the duration has changed.

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-04-10 16:19:34 +0000
3+++ debian/control 2015-05-19 12:35:45 +0000
4@@ -10,7 +10,7 @@
5 libgl1-mesa-dev | libgl-dev,
6 libgles2-mesa-dev,
7 libhybris-dev (>= 0.1.0+git20131207+e452e83-0ubuntu13),
8- libmedia-hub-dev (>= 3.1.0),
9+ libmedia-hub-dev (>= 3.2.0),
10 libpulse-dev,
11 libqt5opengl5-dev,
12 libqtubuntu-media-signals-dev (>= 0.3+14.04.20140307-0ubuntu2),
13
14=== modified file 'src/aal/aalmediaplayerservice.cpp'
15--- src/aal/aalmediaplayerservice.cpp 2015-05-13 16:46:09 +0000
16+++ src/aal/aalmediaplayerservice.cpp 2015-05-19 12:35:45 +0000
17@@ -55,6 +55,7 @@
18 QMediaService(parent),
19 m_hubPlayerSession(NULL),
20 m_playbackStatusChangedConnection(the_void.connect([](){})),
21+ m_durationChangedConnection(the_void.connect([](){})),
22 m_errorConnection(the_void.connect([](){})),
23 m_mediaPlayerControl(nullptr),
24 m_videoOutput(nullptr),
25@@ -90,6 +91,11 @@
26 m_newStatus = status;
27 QMetaObject::invokeMethod(this, "onPlaybackStatusChanged", Qt::QueuedConnection);
28 });
29+ m_durationChangedConnection = m_hubPlayerSession->duration_changed().connect([this](uint64_t duration)
30+ {
31+ // GStreamer uses nano-seconds for duration, Qt uses milliseconds
32+ m_mediaPlayerControl->emitDurationChanged(duration / 1e6);
33+ });
34
35 m_errorConnection = m_hubPlayerSession->error().connect(
36 std::bind(&AalMediaPlayerService::onError, this, _1));
37@@ -98,6 +104,7 @@
38 AalMediaPlayerService::~AalMediaPlayerService()
39 {
40 m_errorConnection.disconnect();
41+ m_durationChangedConnection.disconnect();
42 m_playbackStatusChangedConnection.disconnect();
43
44 deleteMediaPlayerControl();
45
46=== modified file 'src/aal/aalmediaplayerservice.h'
47--- src/aal/aalmediaplayerservice.h 2015-03-19 21:14:12 +0000
48+++ src/aal/aalmediaplayerservice.h 2015-05-19 12:35:45 +0000
49@@ -130,6 +130,7 @@
50 std::shared_ptr<core::ubuntu::media::Service> m_hubService;
51 std::shared_ptr<core::ubuntu::media::Player> m_hubPlayerSession;
52 core::Connection m_playbackStatusChangedConnection;
53+ core::Connection m_durationChangedConnection;
54 core::Connection m_errorConnection;
55
56 AalMediaPlayerControl *m_mediaPlayerControl;
57
58=== modified file 'unittests/player.cpp'
59--- unittests/player.cpp 2015-04-17 19:30:16 +0000
60+++ unittests/player.cpp 2015-05-19 12:35:45 +0000
61@@ -310,6 +310,12 @@
62 return ret;
63 }
64
65+const core::Signal<uint64_t>& TestPlayer::duration_changed() const
66+{
67+ static const core::Signal<uint64_t> ret;
68+ return ret;
69+}
70+
71 const core::Signal<Player::Error>& TestPlayer::error() const
72 {
73 static core::Signal<Player::Error> ret;
74
75=== modified file 'unittests/player.h'
76--- unittests/player.h 2015-04-17 19:30:16 +0000
77+++ unittests/player.h 2015-05-19 12:35:45 +0000
78@@ -90,6 +90,7 @@
79 virtual const core::Signal<PlaybackStatus>& playback_status_changed() const;
80 virtual core::Signal<PlaybackStatus>& playback_status_changed();
81 virtual const core::Signal<core::ubuntu::media::video::Dimensions>& video_dimension_changed() const;
82+ virtual const core::Signal<uint64_t>& duration_changed() const;
83 virtual const core::Signal<Error>& error() const;
84
85 private:

Subscribers

People subscribed via source and target branches