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

Proposed by Ricardo Mendoza
Status: Merged
Approved by: Ricardo Mendoza
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
Ubuntu Phablet Team 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

Merge reqs

129. By Ricardo Mendoza

Merge req

130. By Ricardo Mendoza

Fix req

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'src/core/media/player_stub.cpp'
--- src/core/media/player_stub.cpp 2015-03-16 15:44:12 +0000
+++ src/core/media/player_stub.cpp 2015-03-16 15:44:12 +0000
@@ -236,7 +236,7 @@
236236
237bool media::PlayerStub::open_uri(const media::Track::UriType& uri)237bool media::PlayerStub::open_uri(const media::Track::UriType& uri)
238{238{
239 auto op = d->object->invoke_method_synchronously<mpris::Player::OpenUri, bool>(uri);239 auto op = d->object->transact_method<mpris::Player::OpenUri, bool>(uri);
240240
241 return op.value();241 return op.value();
242}242}
@@ -244,14 +244,14 @@
244244
245bool media::PlayerStub::open_uri(const Track::UriType& uri, const Player::HeadersType& headers)245bool media::PlayerStub::open_uri(const Track::UriType& uri, const Player::HeadersType& headers)
246{246{
247 auto op = d->object->invoke_method_synchronously<mpris::Player::OpenUriExtended, bool>(uri, headers);247 auto op = d->object->transact_method<mpris::Player::OpenUriExtended, bool>(uri, headers);
248248
249 return op.value();249 return op.value();
250}250}
251251
252media::video::Sink::Ptr media::PlayerStub::create_gl_texture_video_sink(std::uint32_t texture_id)252media::video::Sink::Ptr media::PlayerStub::create_gl_texture_video_sink(std::uint32_t texture_id)
253{253{
254 auto op = d->object->invoke_method_synchronously<mpris::Player::CreateVideoSink, void>(texture_id);254 auto op = d->object->transact_method<mpris::Player::CreateVideoSink, void>(texture_id);
255255
256 if (op.is_error())256 if (op.is_error())
257 {257 {
@@ -266,7 +266,7 @@
266266
267void media::PlayerStub::next()267void media::PlayerStub::next()
268{268{
269 auto op = d->object->invoke_method_synchronously<mpris::Player::Next, void>();269 auto op = d->object->transact_method<mpris::Player::Next, void>();
270270
271 if (op.is_error())271 if (op.is_error())
272 throw std::runtime_error("Problem switching to next track on remote object");272 throw std::runtime_error("Problem switching to next track on remote object");
@@ -274,7 +274,7 @@
274274
275void media::PlayerStub::previous()275void media::PlayerStub::previous()
276{276{
277 auto op = d->object->invoke_method_synchronously<mpris::Player::Previous, void>();277 auto op = d->object->transact_method<mpris::Player::Previous, void>();
278278
279 if (op.is_error())279 if (op.is_error())
280 throw std::runtime_error("Problem switching to previous track on remote object");280 throw std::runtime_error("Problem switching to previous track on remote object");
@@ -282,7 +282,7 @@
282282
283void media::PlayerStub::play()283void media::PlayerStub::play()
284{284{
285 auto op = d->object->invoke_method_synchronously<mpris::Player::Play, void>();285 auto op = d->object->transact_method<mpris::Player::Play, void>();
286286
287 if (op.is_error())287 if (op.is_error())
288 throw std::runtime_error("Problem starting playback on remote object");288 throw std::runtime_error("Problem starting playback on remote object");
@@ -290,7 +290,7 @@
290290
291void media::PlayerStub::pause()291void media::PlayerStub::pause()
292{292{
293 auto op = d->object->invoke_method_synchronously<mpris::Player::Pause, void>();293 auto op = d->object->transact_method<mpris::Player::Pause, void>();
294294
295 if (op.is_error())295 if (op.is_error())
296 throw std::runtime_error("Problem pausing playback on remote object");296 throw std::runtime_error("Problem pausing playback on remote object");
@@ -298,7 +298,7 @@
298298
299void media::PlayerStub::seek_to(const std::chrono::microseconds& offset)299void media::PlayerStub::seek_to(const std::chrono::microseconds& offset)
300{300{
301 auto op = d->object->invoke_method_synchronously<mpris::Player::Seek, void, uint64_t>(offset.count());301 auto op = d->object->transact_method<mpris::Player::Seek, void, uint64_t>(offset.count());
302302
303 if (op.is_error())303 if (op.is_error())
304 throw std::runtime_error("Problem seeking on remote object");304 throw std::runtime_error("Problem seeking on remote object");
@@ -306,7 +306,7 @@
306306
307void media::PlayerStub::stop()307void media::PlayerStub::stop()
308{308{
309 auto op = d->object->invoke_method_synchronously<mpris::Player::Stop, void>();309 auto op = d->object->transact_method<mpris::Player::Stop, void>();
310310
311 if (op.is_error())311 if (op.is_error())
312 throw std::runtime_error("Problem stopping playback on remote object");312 throw std::runtime_error("Problem stopping playback on remote object");

Subscribers

People subscribed via source and target branches

to all changes: