您好,欢迎来到榕意旅游网。
搜索
您的当前位置:首页Android VLC - GL Init

Android VLC - GL Init

来源:榕意旅游网

 

 

 

Android VLC - GL Init

gl.c:open() => sys->gl = vlc_gl_Create (sys->window, API, "$" MODULE_VARNAME);
以 MODULE_VARNAME = gles2 为例。

opengl.c:vlc_gl_Create() =>
    gl = vlc_custom_create(parent, sizeof (*gl), "gl");
    gl->surface = wnd;
    gl->module = module_need(gl, type, name, true);
    // type = "opengl es2", name = "gles2"

modules.c:module_need() =>
    vlc_module_load(obj, cap, name, strict, generic_start, obj);
   
modules.c:vlc_module_load() =>
    module_load (obj, cand, probe, args); // probe = generic_start

modules.c:module_load() =>
    init (m->pf_activate, ap); 
    // init = probe = generic_start
    // m->pf_activate = OpenGLES2

modules.c:generic_start() =>
    vlc_object_t *obj = va_arg(ap, vlc_object_t *);
    int (*activate)(vlc_object_t *) = func;

    return activate(obj);

egl.c:OpenGLES2() =>
    static const struct gl_api api = {
        "OpenGL_ES", EGL_OPENGL_ES_API, 3, EGL_OPENGL_ES2_BIT,
        { EGL_CONTEXT_CLIENT_VERSION, 2, EGL_NONE },
    };
    return Open (obj, &api);
   
egl.c:open() => Init egl etc

   

 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务