Phonon design in general

Thierry Bastian thierry.bastian at trolltech.com
Thu Jun 28 09:37:06 CEST 2007


Hello,

 

While crawling through the API, I found class which should maybe be moved
from phonon because they take space and are (personal opinion) not part of
the Multimedia framework itself.

As Håvard pointed ou, the size of the library itself is a big concern. And
as Matthias pointed out the best for all of us is to find a solution to make
Phonon be more acceptable.

 So my idea was to try to focus on reducing the number of classes we have in
Phonon to the core ones we need. After all Phonon is about having a cool
cross-platform front-end API to the backends (insanely powerful
platform-specific multimedia framework).

 

These are:

-          ObjectDescriptionModel: it is a convenient class that can be used
to nicely display ObjectDescription to for example choose which effect or
output audio device to use.

-          BrightnessControl & DeinterlaceFilter: to this point there is
nothing like that in DirectShow and I wonder if abstracting those effects is
a really good idea at this point. Directshow gives us the possibility to
control the brightness and deinterlace but this is only on the video
renderer. A more abstract way of viewing the effects like it is with the
enumeration coming from the backend capabilities and and EffectParameter
makes at this point more sense to me (Note: on Windows by default there is
no video effect provided by the system)

-          VideoPlayer & AudioPlayer & SeekSlider & VolumeSlider : nice
things to have but it looks to me there are more like example code than
really core functionality. They have no interface to the backend.

 

This code is all great value to phonon and I think we should not remove it.
It just makes more sense to have them in a separate “example” directory. I’m
pretty sure most people won’t use them.  And if they want to use them, they
can still integrate them into their own app (like the ObjectDescriptionModel
for KCM).

 

On my windows machine, removing those classes made the library 20% slimmer
(248KB down to 196KB). That’s a huge gain (hopefully reproducible with ARM).

 

Regards,

Thierry

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/phonon-backends/attachments/20070628/a00a0499/attachment.html 


More information about the Phonon-backends mailing list