https://bugs.kde.org/show_bug.cgi?id=397594

--- Comment #7 from Mauro Carvalho Chehab <mchehab+sams...@kernel.org> ---
(In reply to Lukas Kahnert from comment #6)
> (In reply to Mauro Carvalho Chehab from comment #5)
> > (In reply to Lukas Kahnert from comment #4)
> > > I'm affected by this bug too and looked at the source and try to fix 
> > > myself.
> > > The problem is (I think) libVLC's API doesn't provide embedding video 
> > > output
> > > into wayland sufaces(I only found for X11,OSX and Windows).
> > > In wayland sessions kaffeine runs with the wayland backend and tries to 
> > > pass
> > > the wayland surface to libVLC(which of course fails) and the result is 
> > > this
> > > bug.
> > > 
> > > Possible workround is running kaffeine with "-platform xcb" to force the 
> > > X11
> > > backend.
> > > 
> > > As an experiment I made an minimal mpv-backend(which uses OpenGL-surfaces)
> > > and it fixes the bug too.
> > 
> > Could you please send the mpv-backend patches? It could be worth having a
> > different backend on Kaffeine (although I think Gstreamer would likely give
> > better results).
> 
> As I said it's just minimal which only suppports play and stop. mpv has an
> qt example in their sources which I used for this.
> Why a Gstreamer backend? Wouldn't be better to support (as KDE Project)
> Phonon as primary backend?

AFAIKT, Phonon is a GUI frontend, with supports two backends: libVLC and
GStreamer. 

If we take the active projects that provide consistent media player libraries,
I guess there are only 2 options nowadays: VLC or Gstreamer. Mplayer used to be
very active in the past, but it seems that its development slowed down
nowadays.

The advantage of GStreamer is that the project is focused on developing a
backend for other applications. So, it allows deep control on what's happening
behind the scenes. On the other hand, it adds some complexity to the backend. 

On the other hand, libVLC library is very simple, with makes the backend very
simple too. However, its development is focused on VLC application, and only a
handful functions are available to other applications. That makes harder (or
impossible) to deal with some issues.

A libVLC application can't really select what GUI module will be used and if
libva will be used or not, as (at least up to version 3), there are no
functions to enumerate the display output interfacer or select between them. At
max, it can pass a command line parameter that may or may not work.

On another example, I had to use only keys in order to handle DVD menus, as
libVLC API doesn't allow an external application to pass mouse events (and
newer versions of Qt want exclusive access to mouse events).

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to