MediaArchitecture

Revision 8 as of 2013-11-18 15:26:01

Clear message

Blueprint: https://blueprints.launchpad.net/ubuntu/+spec/client-1303-hw-video-decode-rendering-support

Goals

  • Audio and video playback
  • Hardware accelerated
  • Ubuntu Touch for now; Ubuntu Desktop in the future
  • Leverage Android BSPs of supported Ubuntu Touch devices
  • DRM support

Out of scope

  • Media capture / encoding and transcoding
  • Webcam
  • Currently not directly targeting Ubuntu Desktop
  • Currently not targeting WiFi Direct

  • !UPnP -- might be provided by apps though

Requirements

  • Need to have a DRM solution for commercial products (OEM and media content industry requirement)
    • DRM solution might impose extra requirements on e.g. access to buffers, multiple processes, security/confinement etc.
  • Support at least the codecs supported in the Android phones we're targeting as supported Ubuntu Touch devices
  • Concurrent playback of multiple streams (at least audio mixing)
  • Bluetooth audio output (e.g. headset)
  • Media indexing?

Android bits

On Android, media decoding is provided by a separate Media Service process which provides audio and video decoding.

Media indexing

Media control

Power management

DRM / security

Codecs

Import / export / share

Syncing over USB and Bluetooth U1?

Dock / external screen

Applications don’t control which output they are on, but get notified of the new display properties. This will also affect media playback.

Audio input + output selection / plug detection

Not covered by this spec, but see Ricardo Salveti’s spec on audio input + output selection and plug detection.

API

Architecture

some description

Media Service

some description