lp:~phablet-team/media-hub/fix-1538703

Created by Jim Hodapp and last modified
Get this branch:
bzr branch lp:~phablet-team/media-hub/fix-1538703
Members of Ubuntu Phablet Team can upload to this branch. Log in for directions.

Branch merges

Related bugs

Related blueprints

Branch information

Owner:
Ubuntu Phablet Team
Project:
Media Hub
Status:
Development

Recent revisions

186. By Jim Hodapp

Pass a Service* instead of ServiceSkeleton* to avoid weird inheritance segfault

185. By Konrad Zapałowicz

Fix resetting the current player on disconnection and interface pollution

This commit changes:

* The condition under which the current player is reset. Originally
  this happened only for multimedia role however this turned out to be
  faulty and trigger an unwanted behavior [1]. This change allows the
  reset to happen only when it is a multimedia role [already there] and
  the player is the current player i.e. the Player instance that
  disconnected was the last player to play audio/video [added].

  In order to achieve this the ServiceSkeleton class has been extended
  with a new function to return the current player.

* Reduces the pollution of the Service interface, which has been
  introduced in rev 152 & 153, by moving the added functions to the
  ServiceSkeleton class. This is because the Service interface should
  be used only for DBus exported stuff.

1.

The issue as described by jibel was: I see 1 issue with the silo,
play a video, open the music app (video will pause), enqueue several
tracks and start playing (verify that MPRIS switched to music app),
reveal the spread and close the mediaplayer the controls switch to the
mediaplayer but the music continues playing then if you switch back to
the music app, the controls are still for the mediaplayer even if music
app is in the foreground and music is playign. I've to pause/play the
track in the music app for the music app to take control of mpris.

184. By Konrad Zapałowicz

Revert change which was reviewed as bad

183. By Konrad Zapałowicz

Fix resetting the current player on disconnection

This commit changes the condition under which the current player is
reset. Orginally this happened only for multimedia role however this
turned out to be faulty and trigger an unwanted behavior [1]. This
change allows the reset to happen only when it is a multimedia role
[already there] and the player is the current player i.e. the Player
instance that disconnected was the last player to play audio/video
[added].

In order to achieve this the Service interface has been extended with
a new function to return the current player. This is implemented in
derived classess as well as in ServiceSkeleton. Note that the empty
implementation in service_stub is because this function is not meant
to be exported over DBus.

1.

the issue as described by jibel was: I see 1 issue with the silo,
play a video, open the music app (video will pause), enqueue several
tracks and start playing (verify that MPRIS switched to music app),
reveal the spread and close the mediaplayer the controls switch to the
mediaplayer but the music continues playing then if you switch back to
the music app, the controls are still for the mediaplayer even if music
app is in the foreground and music is playign. I've to pause/play the
track in the music app for the music app to take control of mpris.

182. By Jim Hodapp

Make sure that a non-multimedia audio role Player doesn't cause the current player to reset. This should only happen when a multimedia audio role Player dies

181. By Jim Hodapp

No need to update the current player for open_uri(). Only need to update the current player when calling play()

180. By Jim Hodapp

Adding some useful comments

179. By Jim Hodapp

Make sure to "disconnect" the MPRIS Player interface signals

178. By Jim Hodapp

Set the current player based on when a Player instance begins playback

177. By CI Train Bot Account

Releasing 4.1.0+16.04.20160308.2-0ubuntu1

Branch metadata

Branch format:
Branch format 7
Repository format:
Bazaar repository format 2a (needs bzr 1.16 or later)
Stacked on:
lp:media-hub
This branch contains Public information 
Everyone can see this information.