Question about the interface classes

Matthias Kretz kretz at kde.org
Mon Jun 25 10:05:22 CEST 2007


On Friday 22 June 2007, Håvard Wall wrote:
> > Virtual functions make it harder to keep BC.
>
> Sure, I understand you can't add virtual functions after
> code-freeze/release, so new functionality added at a later stage would have
> to use the
> invokemethod trick.

a) invokeMethod
b) additional Q_INTERFACE
c) new version of the Q_INTERFACE

Whatever it is, it'll need checks in the frontend code or it needs to disallow 
old-version backends (which is easy to do using KTrader)

> > For embedded I'd expect the backend to be compiled into libphonon anyway.
> > So there you'd redefine the macros to call the backend functions directly
> > instead of going through the meta object.
>
> This would make supporting new hardware for an embedded device more work.
> The customer doing the integration no longer only have to write a (more or
> less) simple plugin, but also has to change the optimize the phonon
> libraries. I'm afraid that this increased complexity/cost will make it
> harder to convince people to use phonon on embedded.

Interesting point. I don't have much knowledge wrt. hardware integration, so 
you better tell me what's needed there... But where does the integration 
really happen? If it's only the audio hardware than it's a matter of a kernel 
driver. If it's about using specialized hardware for decoding then you'd 
really want to change the media framework that the backend uses, and 
therefore exchange the backend. For Qt you have some plugin interfaces for 
cases like this, right?

Can you give a small use case where a customer wants to ship a custom backend 
so that I get a better idea of their challenges?

-- 
________________________________________________________
Matthias Kretz (Germany)                            <><
http://Vir.homelinux.org/
MatthiasKretz at gmx.net, kretz at kde.org,
Matthias.Kretz at urz.uni-heidelberg.de
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/phonon-backends/attachments/20070625/cfda88c5/attachment.pgp 


More information about the Phonon-backends mailing list