[vlc-devel] [PATCH] vout: add an OpenGL ES 2.0 vout display module for Android.

Felix Abecassis felix.abecassis at gmail.com
Tue Jan 7 22:42:49 CET 2014

2014/1/7 Rémi Denis-Courmont <remi at remlab.net>:
> Events like window resize are generated by the windowing system. That's how
> things are. VLC has no say in this. This stuff gets passed onto VLC by
> platform-specific mechanism. In Android, that is made with the JNI calls; in
> X11, with X11 events on the X11 socket.
Sure, I'm not arguing this.

> The plugin translate it those events
> into the VLC abstraction, before the VLC core handles them in whatever way.
That's an overall description of the mechanism, but concretely this
translation is done by calling vout_display_SendEvent*(), do we agree
on this?

> There are also "events" coming *from* the core to the plugins. But usually,
> these take the form of a callback invocation, notably pf_control(), and we do
> not refer to them as events.
You are right, there are not called "events" anymore, but it seems the
control function is called on the display plugin from the core after
receiving an event.
To illustrate, let's take the SDL vout, in function Manage:
            vout_display_SendEventDisplaySize(vd, event.resize.w,
event.resize.h, vd->cfg->is_fullscreen);
And in function Control we are doing the actual resizing:
        sys->display = SDL_SetVideoMode(...);

> Point being, catching and translating windowing system events should be the
> role of the vout window plugins, instead now of the vout display plugins.
> Reason is, those events are dependent on the windowing API, not the rendering
> API.
Ah, I understand. You're saying we should modify the existing plugins
so that the events are sent to the core from the window plugins
instead of the display plugins?
So this is not a specific flaw of my patch but rather an improvement
that should be implemented in the whole project?

Félix Abecassis

More information about the vlc-devel mailing list