Phonon 4.2 and integration for Qt 4.5

Matthias Kretz kretz at kde.org
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)                            <><
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: signature.asc
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/kde-multimedia/attachments/20080611/709e8935/attachment.sig>
-------------- next part --------------
_______________________________________________
kde-multimedia mailing list
kde-multimedia at kde.org
https://mail.kde.org/mailman/listinfo/kde-multimedia


More information about the kde-multimedia mailing list