Hi Guys,Does anyone know whether the Phonon uses X11?

Harald Sitter sitter at kde.org
Sun Jun 12 13:15:10 BST 2011


On Sun, Jun 12, 2011 at 12:25 AM, Ian Monroe <ian at monroe.nu> wrote:
> On Sat, Jun 11, 2011 at 12:31, Trever Fischer
> <tdfischer at fedoraproject.org> wrote:
>> On Friday 27 May 2011 04:53:49 W W wrote:
>>> Hi Guys
>>>
>>> I want to use Phonon as my media framework.
>>> But my QT version can not use X11.So I'm not sure the Phonon uses X11?
>>> I know I the phonon will use gstreamer and xine to decode.
>> Phonon has a build-time dependency on X11. Without it, you wouldn't have the
>> VideoWidget, seek slider, or other GUI bits. Additionally, the two supported
>> backends (VLC and GStreamer) both have build-time dependencies on X11.
>
> QtGui only depends on X11 in the X11 version of Qt. So its the same
> with Phonon I think? Phonon itself doesn't depend on X11. And X11
> isn't the only platform phonon-vlc supports.

Righto.
Phonon itself works on QWidgets, those are as Ian mentioned not
dependent on X11. The Phonon backends however have two limitations to
portability:
a) Qt needs to know some widget-like identifier for a drawable region
and expose it through QWidget::winId()
b) The underlying framework of a backends needs to be able to build to
begin with and additionally to draw on such a region on the given
target platform

So generally speaking: if Qt can live without X11 on a platform and
the multimdia framework can, then Phonon can too.

There are however two exceptions from this:
a) Phonon GStreamer can apply a technique we call overlay painting. In
this mode it auto-detects the region covered by a widget and then
draws onto this region using either QImage paintaing (ewww!!), X11
painting (okok) or OpenGL painting (only opengl, no gles etc.), this
completely bypasses the underlying framework's drawing implementations
and thus increases portability. Additionally this also makes it sort
of work with QGraphicsView/QML
b) I am working on native QML support which uses a similar approach as
mentioned above. Through my work what sounds above a bit like a
workaround will become native behavior (for Qt 5 anyways) thus
elevating the dependencies. In this scenario there is no dependency on
X11 at all. The only limitation to portatbility is then the
buildability of the frameworks.

regards,
Harald



More information about the kde-multimedia mailing list