[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-multimedia
Subject:    Re: Phonon 4.2 and integration for Qt 4.5
From:       Michael Pyne <mpyne () purinchu ! net>
Date:       2008-06-10 22:07:27
Message-ID: 200806101807.36891.mpyne () purinchu ! net
[Download RAW message or body]

[Attachment #2 (multipart/signed)]

[Attachment #4 (multipart/alternative)]


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?

If so I have no objection (but then I don't see how it isn't source compatible 
either).  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...

Regards,
 - Michael Pyne

[Attachment #7 (text/html)]

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" \
"http://www.w3.org/TR/REC-html40/strict.dtd"> <html><head><meta name="qrichtext" \
content="1" /><style type="text/css"> p, li { white-space: pre-wrap; }
</style></head><body style=" font-family:'Consolas'; font-size:11pt; font-weight:400; \
font-style:normal;"> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">On Tuesday \
10 June 2008, Matthias Kretz wrote:</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; On Tuesday 10 June 2008, Thierry Bastian wrote:</p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; &gt; First, the change \
in AudioOutputInterface breaks source compat for</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">&gt; &gt; apparently no really good reason. \
Adding the setOutputDevice with the</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; &gt; parameter being an objectDescription doesn't really \
bring much over a int</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; &gt; since the backend is in complete control of that \
int.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt;</p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; That's true for all the \
devices listed by the backend. But starting with</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">&gt; Phonon 4.2 the platform plugin may list \
devices. And those the backend</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; knows nothing about. But through the properties of \
ObjectDescription it</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; gets all the info it needs. Currently this is not documented \
good enough.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; And \
for frontend users it should stay hidden. But Backend developers need</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; those properties \
documented... I already implemented it (at least for ALSA)</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; for the GStreamer \
backend.</p> <p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt;</p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; And this is then \
probably the biggest feature for libphonon 4.2 since it</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; means that now \
Phonon-GStreamer integrates into KDE as good as Phonon-Xine</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; does.</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt;</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; *snip*</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt;</p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">&gt; Note that binary and \
behaviour compatibility is kept. Only recompilation of</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">&gt; the backend against the new interface shows \
that a new function needs to be</p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">&gt; implemented.</p> <p style="-qt-paragraph-type:empty; \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;"></p> <p style=" \
margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">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?</p> <p \
style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; \
margin-right:0px; -qt-block-indent:0; text-indent:0px; -qt-user-state:0;"></p> <p \
style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; \
-qt-block-indent:0; text-indent:0px; -qt-user-state:0;">If so I have no objection \
(but then I don't see how it isn't source compatible either).  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.</p> <p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;"></p> <p style=" margin-top:0px; margin-bottom:0px; \
margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; \
-qt-user-state:0;">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...</p> <p style="-qt-paragraph-type:empty; margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;"></p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;">Regards,</p> <p style=" margin-top:0px; \
margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; \
text-indent:0px; -qt-user-state:0;"> - Michael Pyne</p></body></html>


["signature.asc" (application/pgp-signature)]

_______________________________________________
kde-multimedia mailing list
kde-multimedia@kde.org
https://mail.kde.org/mailman/listinfo/kde-multimedia


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic