Merge lp:~phablet-team/media-hub/use-transact-method into lp:media-hub

Proposed by Ricardo Mendoza on 2015-03-16
Status: Merged
Approved by: Ricardo Mendoza on 2015-04-01
Approved revision: 130
Merged at revision: 127
Proposed branch: lp:~phablet-team/media-hub/use-transact-method
Merge into: lp:media-hub
Prerequisite: lp:~jhodapp/media-hub/fix-zero-position-while-seeking
Diff against target: 83 lines (+9/-9)
1 file modified
src/core/media/player_stub.cpp (+9/-9)
To merge this branch: bzr merge lp:~phablet-team/media-hub/use-transact-method
Reviewer Review Type Date Requested Status
PS Jenkins bot continuous-integration Approve on 2015-03-16
Ubuntu Phablet Team 2015-03-16 Pending
Review via email: mp+253062@code.launchpad.net

Commit Message

Migrate all Player DBus methods to use transact_method() instead of invoke_method_synchronously(), to prevent bus executor deadlocks.

To post a comment you must log in.
128. By Ricardo Mendoza on 2015-03-16

Merge reqs

129. By Ricardo Mendoza on 2015-03-16

Merge req

130. By Ricardo Mendoza on 2015-03-16

Fix req

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/core/media/player_stub.cpp'
2--- src/core/media/player_stub.cpp 2015-03-16 15:44:12 +0000
3+++ src/core/media/player_stub.cpp 2015-03-16 15:44:12 +0000
4@@ -236,7 +236,7 @@
5
6 bool media::PlayerStub::open_uri(const media::Track::UriType& uri)
7 {
8- auto op = d->object->invoke_method_synchronously<mpris::Player::OpenUri, bool>(uri);
9+ auto op = d->object->transact_method<mpris::Player::OpenUri, bool>(uri);
10
11 return op.value();
12 }
13@@ -244,14 +244,14 @@
14
15 bool media::PlayerStub::open_uri(const Track::UriType& uri, const Player::HeadersType& headers)
16 {
17- auto op = d->object->invoke_method_synchronously<mpris::Player::OpenUriExtended, bool>(uri, headers);
18+ auto op = d->object->transact_method<mpris::Player::OpenUriExtended, bool>(uri, headers);
19
20 return op.value();
21 }
22
23 media::video::Sink::Ptr media::PlayerStub::create_gl_texture_video_sink(std::uint32_t texture_id)
24 {
25- auto op = d->object->invoke_method_synchronously<mpris::Player::CreateVideoSink, void>(texture_id);
26+ auto op = d->object->transact_method<mpris::Player::CreateVideoSink, void>(texture_id);
27
28 if (op.is_error())
29 {
30@@ -266,7 +266,7 @@
31
32 void media::PlayerStub::next()
33 {
34- auto op = d->object->invoke_method_synchronously<mpris::Player::Next, void>();
35+ auto op = d->object->transact_method<mpris::Player::Next, void>();
36
37 if (op.is_error())
38 throw std::runtime_error("Problem switching to next track on remote object");
39@@ -274,7 +274,7 @@
40
41 void media::PlayerStub::previous()
42 {
43- auto op = d->object->invoke_method_synchronously<mpris::Player::Previous, void>();
44+ auto op = d->object->transact_method<mpris::Player::Previous, void>();
45
46 if (op.is_error())
47 throw std::runtime_error("Problem switching to previous track on remote object");
48@@ -282,7 +282,7 @@
49
50 void media::PlayerStub::play()
51 {
52- auto op = d->object->invoke_method_synchronously<mpris::Player::Play, void>();
53+ auto op = d->object->transact_method<mpris::Player::Play, void>();
54
55 if (op.is_error())
56 throw std::runtime_error("Problem starting playback on remote object");
57@@ -290,7 +290,7 @@
58
59 void media::PlayerStub::pause()
60 {
61- auto op = d->object->invoke_method_synchronously<mpris::Player::Pause, void>();
62+ auto op = d->object->transact_method<mpris::Player::Pause, void>();
63
64 if (op.is_error())
65 throw std::runtime_error("Problem pausing playback on remote object");
66@@ -298,7 +298,7 @@
67
68 void media::PlayerStub::seek_to(const std::chrono::microseconds& offset)
69 {
70- auto op = d->object->invoke_method_synchronously<mpris::Player::Seek, void, uint64_t>(offset.count());
71+ auto op = d->object->transact_method<mpris::Player::Seek, void, uint64_t>(offset.count());
72
73 if (op.is_error())
74 throw std::runtime_error("Problem seeking on remote object");
75@@ -306,7 +306,7 @@
76
77 void media::PlayerStub::stop()
78 {
79- auto op = d->object->invoke_method_synchronously<mpris::Player::Stop, void>();
80+ auto op = d->object->transact_method<mpris::Player::Stop, void>();
81
82 if (op.is_error())
83 throw std::runtime_error("Problem stopping playback on remote object");

Subscribers

People subscribed via source and target branches

to all changes: