[vlc-devel] [PATCH] vout: add an OpenGL ES 2.0 vout display module for Android.
felix.abecassis at gmail.com
Wed Jan 8 18:28:06 CET 2014
Let me know if I understood you correctly this time.
2014/1/7 Felix Abecassis <felix.abecassis at gmail.com>:
> 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:
> case SDL_VIDEORESIZE:
> vout_display_SendEventDisplaySize(vd, event.resize.w,
> event.resize.h, vd->cfg->is_fullscreen);
> And in function Control we are doing the actual resizing:
> case VOUT_DISPLAY_CHANGE_DISPLAY_SIZE:
> 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
> 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