- let the Phonon KCM check whether the hw: ALSA device already does mixing, only if it does not
   prefer the dmix: device

- add Player dbus interface in MediaProducer

- add global setting to pause video when it's not visible

- move setupIface to the Private class (if possible)

- Add MIME types to the backends desktop file that give the types the backend
  can support in the best case. Those can then be used in places where the
  backend is only conditionally loaded if it can decode the MIME type at hand.
  Examples:
     o KFileAudioPreview asks audio/mp3 supported? Backend desktop file
       says yes, backend is loaded, backend says no (decoder not installed).
     o KFileAudioPreview asks application/pdf supported? Backend desktop file
       says no -> no backend loaded

- add a way to request a specific version (>=) from the Backend, so that known to be buggy Backends aren't used

- chapter support in AbstractMediaProducer

- menu support? DVD media and Matroska files can come with a menu/control track.
  Is any special API needed for that or does clicking on the video suffice?

- DVD, TV Tuner, more? need to be supported? What API is needed?

- Subtitles

- Video Overlays (OSD) like: show a rectangle as a play symbol, show the position in
  the file as something like [IIIIIIIII------], and so on

- audio stream selection (some container formats can come with different audio
  streams, the stream selection should be put into the Producer class and
  optionally specify the Path so that different Paths connected to the same
  Producer can use different audio streams)

- don't crash:
  - when no backend is available
  - when an iface object isn't available

- add bufferingProgress(int) signal to AbstractMediaProducer so that the UI can show the progress

- consider whether to add a signal to notify when the information for
  hasVideo/isSeekable/availableAudioStreams/availableVideoStreams/availableSubtitleStreams
  is available

look at pavucontrol, gsmartmix
