Roadmap

As there are a lot of things to be done it is good to have well defined goals. The roadmap below tries to give an idea of the things still to be done. The order gives an idea of the priority of the tasks and the

Milestone 1: Design

Status: completed

Find a Design Pattern that allows changes to the frontend API without breaking binary compatibility. The frontend classes should not give access to the backend classes thereby allowing backend switching. The frontend classes should be easily usable to playback audio and video data, insert effects and set arbitrary outputs.

Milestone 2: Playback-API

Status: completed

Write a playback-API for arbitrary media data. This API can be used to playback all kinds of audio and video media files at arbitrary URLs supported by KDE.

Milestone 3: First Backend

Target Date: Q1 2006
Status: completed

Write a reference backend implementation that fakes the requested functionality. A program using the Phonon API should not see a difference to a real backend that produces sounds and videos. This backend is usefull for testing.

Milestone 4: (Unit) Tests

Target Date: Q2 2006
Status: in progress

Write (unit) tests that use the frontend API. To be able to execute the tests a backend is needed (Milestone 3). As a lot of the classes are very interdependent writing real unit tests is not possible. The tests will become part of a suite of programs to help certifying backends.

Milestone 5: Effects API

Target Date: April 2006
Status: partially done, needs review

Write frontend and backend API to insert effects into the audio and video paths. Decide what effects need a dedicated interface (for example VolumeFader, EQ, Panorama, Brightness, Contrast, Saturation). Write a widget class for Audio- and VideoEffects that either generates a user interface from meta data or loads a widget plugin (check whether this can be done using Qt Designer .ui files).

Write the according classes for the test backend and write unit tests for the frontend API.

Milestone 6: Capture API

Target Date: May 2006
Status: started and on hold

API for capture, DVD, TV and other sources. Add to test backend and write unit tests for the frontend.

Milestone 7: Integrate Phonon in KDE

Target Date: Q3 2006
Status: in progress

Make use of Phonon throughout KDE. Some old (disabled) code using aRts needs to be replaced.

Milestone 8: Network API

Target Date: Q3 2006
Status: not started

Network-/Streaming-API