Phonon 4.2 and integration for Qt 4.5

Matthias Kretz kretz at
Wed Jun 11 06:50:38 BST 2008

On Wednesday 11 June 2008, Michael Pyne wrote:
> On Tuesday 10 June 2008, Matthias Kretz wrote:
> > On Tuesday 10 June 2008, Thierry Bastian wrote:
> > > First, the change in AudioOutputInterface breaks source compat for
> > > apparently no really good reason. Adding the setOutputDevice with the
> > > parameter being an objectDescription doesn't really bring much over a
> > > int since the backend is in complete control of that int.
> >
> > That's true for all the devices listed by the backend. But starting with
> > Phonon 4.2 the platform plugin may list devices. And those the backend
> > knows nothing about. But through the properties of ObjectDescription it
> > gets all the info it needs. Currently this is not documented good enough.
> > And for frontend users it should stay hidden. But Backend developers need
> > those properties documented... I already implemented it (at least for
> > ALSA) for the GStreamer backend.
> >
> > And this is then probably the biggest feature for libphonon 4.2 since it
> > means that now Phonon-GStreamer integrates into KDE as good as
> > Phonon-Xine does.
> >
> > *snip*
> >
> > Note that binary and behaviour compatibility is kept. Only recompilation
> > of the backend against the new interface shows that a new function needs
> > to be implemented.
> I know that phonon isn't in kdelibs anymore... but would this break KDE
> software written when Phonon 4.1 was current?  i.e. would applications be
> able to compile against the new Phonon?

No, applications are not affected. Only backends.

> If so I have no objection (but then I don't see how it isn't source
> compatible either).

Phonon 4.2 adds a new pure virtual function for the backend AudioOutput. 
Through some Q_INTERFACE magic that doesn't break binary compatibility, but 
on recompilation it complains that it cannot instantiate an object of 
abstract type AudioOutput...

> But we shouldn't cause KDE programs that used to be 
> valid to fail to compile, even if it is actually binary compatible.  I
> absolutely hate when other libraries have done this to me in a minor rev.
> Besides, doesn't Trolltech have to maintain source compatibility for Qt?  I
> don't see how they could include a Phonon change that breaks source
> compatibility...

If Phonon were not to make the new virtual functions pure it becomes a lot 
harder for Backend developers to see where new functions need to be 
implemented for a new version of Phonon. If you have better suggestions how 
to handle this let me know.

Matthias Kretz (Germany)                            <><
MatthiasKretz at, kretz at,
Matthias.Kretz at
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <>
-------------- next part --------------
kde-multimedia mailing list
kde-multimedia at

More information about the kde-multimedia mailing list