Hi Kevin and others,

I still think that this discussion has derailed.  I do not think Phonon is the 
solution to fix or replace QtMultimedia so I hope to make this clear so we can 
move on to a real solution.

The current state of Phonon is thus:

Phonon is part of the KDE project and is licensed as LGPLv2.1 only.  This is an 
issue for Qt because if Phonon is to again become our solution for providing 
multimedia, then it only really covers a percentage of our user base.  It is 
important for us to be able to offer flexible licensing options to our 
customers, and without the option to do so this is already a non-starter.  The 
same goes for the rest of the KDE 5 frameworks.  Some people are OK with using 
the LGPL license and that is fine, but the Qt product itself needs more options.

Phonon is only somewhat actively developed, as I counted about 15 real commits 
in the phonon/master and 30 real commits the the phonon-gstreamer/master 
repository this year (commits that weren’t merges or version bumps).  By 
comparison QtMultimedia received this year around 150 commits from Christian 
and Yoann alone, with over 40 additional unique contributors with at least one 
patch this year.  Sure we have a much large scope in having to support so many 
platforms, but that is not insignificant.

Phonon is primarily targeted at Qt 4.  It is compatible with Qt 5, but in the 
same way that many Qt 4 applications can easily be ported to Qt 5 due to us 
being mostly source compatible.

Phonon does not have support for Qt Quick 2.  This is related to the previous 
point, as there is currently only support for QtQuick 1 (QGraphicsView).  
Additional development effort would be required to fully bring Phonon into the 
Qt 5 era.

Phonon is only supported on the Desktop platforms.  Any support for mobile 
platforms is theoretical in that the libVLC and GStreamer dependencies of the 
backends have support for running there.  

Phonon being part of the KDE project uses the Cmake build system.  While not a 
problem in itself, a Qt essentials module should distributed as part of Qt 5 
should be build with the default build system qmake.  Not a hard problem to 
overcome but yet another barrier to current acceptance.

Phonon has dropped its native backends in favour of using libVLC and GStreamer. 
 This seems to be the Phonon project’s solution to not having enough resources 
available to maintain native backends, and while this is a tempting option we 
have considered for QtMultimedia, it may not be the right solution either.  If 
we depend on a 3rd party library like libVLC or GStreamer (on platforms other 
than Linux), then if someone would like to use the multimedia functionality, 
then they would need to have this dependency when developing and deploy it 
along with their application.  We likely could not distribute either libVLC or 
GStreamer along with Qt releases due to licensing and patent concerns, so this 
would be one more barrier to getting started.  What is nice about using the 
native frameworks is that they are already available on the machines, and they 
give the most flexibility with regards to features and performance.  Using the 
native backends also means that deployment is easier as the end user will not 
need to bundle libVLC or GStreamer with their application.  If anything I think 
we should offer these backends as an option(cross-platform GStreamer and 
libVLC) along side the existing native backends in QtMultimedia.

Most of these issues could be resolved with some development effort, however 
this will not fix the critical issue of licensing.  

Hopefully this adds some perspective to the discussion.

Regards,
Andy Nichols
_______________________________________________
Development mailing list
[email protected]
http://lists.qt-project.org/mailman/listinfo/development

Reply via email to