Allow music playing apps to escape the lifecycle trap

Registered by Thomas Voß

As Ubuntu's app-lifecycle-policy will be strict, we need to offer a service to apps for playing back music, even if the app is not running.

Blueprint information

Status:
Started
Approver:
Thomas Voß
Priority:
High
Drafter:
Thomas Voß
Direction:
Approved
Assignee:
Thomas Voß
Definition:
New
Series goal:
None
Implementation:
Started
Milestone target:
None
Started by
Thomas Voß

Whiteboard

The music-hub will be a session-level service that is offered to app-authors for music playback. It will be integrated with the overall stack as follows:

    ---------------------------------
    | Music Hub |
    ---------------------------------

     ---------------------------------
    | Platform API |
    ---------------------------------

    ---------------------------------
    | QtMultimedia |
    ---------------------------------

The primary interface to the functionality is via QtMultimedia's QML bindings and it is transparent to users of that API. Please note that traditional audio output is not covered by the music hub, i.e., it is specifically targeted to music playback as opposed to audio output.

Implementation choices:

  * Frontend API: QtMultimedia QML bindings
  * Backend API: C++
  * Communication Protocol: MPRIS via DBUS
  * Service-side playback backend: gstreamer 1.0

(?)

Work Items

Work items:
[thomas-voss] Provide music-hub API stub for preliminary QtMultimedia integration: DONE
[thomas-voss] Provide music-hub iteration0: INPROGRESS
[diwic] Provide a player backend for QtMultimedia on top of the music-hub API: INPROGRESS
[diwic] Provide a custom playlist control for QtMultimedia to enqueue playlist items to music-hub/player sessions: INPROGRESS

This blueprint contains Public information 
Everyone can see this information.