xine-lib: xine-lib-1.2.12/src/video_out/opengl/xine_glx.c File Reference

xine-lib 1.2.12

Data Structures | Macros | Functions | Variables
xine_glx.c File Reference
`#include "xine_gl_plugin.h"`
`#include "xine_gl.h"`
`#include <stdlib.h>`
`#include <xine.h>`
`#include <xine/xine_internal.h>`
`#include <X11/Xlib.h>`
`#include <GL/glx.h>`

## Data Structures
struct | xine_glx_t

## Macros
#define | GLX(_gl) xine_container_of(_gl, xine_glx_t, p.gl)

## Functions
static int | _glx_make_current (xine_gl_t *gl)
static void | _glx_release_current (xine_gl_t *gl)
static void | _glx_swap_buffers (xine_gl_t *gl)
static void | _glx_set_native_window (xine_gl_t *gl, void *drawable)
static void | _glx_resize (xine_gl_t *gl, int w, int h)
static void * | _glx_get_proc_address (xine_gl_t *gl, const char *procname)
static const char * | _glx_query_extensions (xine_gl_t *gl)
static void | _module_dispose (xine_module_t *module)
static void | _glx_set_lockdisplay (void *this_gen, xine_cfg_entry_t *entry)
static void | _register_config (config_values_t *config, xine_glx_t *glx)
static xine_module_t * | _glx_get_instance (xine_module_class_t *class_gen, const void *data)
static void * | glx_init_class (xine_t *xine, const void *params)

## Variables
static const xine_module_info_t | module_info_glx
const plugin_info_t xine_plugin_info[] | EXPORTED

## Macro Definition Documentation

## ◆ GLX

#define GLX | ( |  | _gl | ) | xine_container_of(_gl, xine_glx_t, p.gl)

## Function Documentation

## ◆ _glx_get_instance()

static xine_module_t * _glx_get_instance | ( | xine_module_class_t * | class_gen,
|  | const void * | data
| ) |  |
| static

References _glx_get_proc_address(), _glx_make_current(), _glx_query_extensions(), _glx_release_current(), _glx_resize(), _glx_set_native_window(), _glx_swap_buffers(), _module_dispose(), _register_config(), _x_assert, xine_s::config, xine_glx_t::context, x11_visual_t::d, x11_visual_t::display, xine_glx_t::display, xine_gl::dispose, xine_module_s::dispose, xine_glx_t::drawable, gl_plugin_params_t::flags, xine_gl::get_proc_address, xine_gl_plugin_s::gl, xine_gl::make_current, xine_gl_plugin_s::module, NULL, xine_glx_t::p, xine_gl::query_extensions, xine_gl::release_current, xine_gl::resize, x11_visual_t::screen, xine_glx_t::screen, xine_gl::set_native_window, xine_gl::swap_buffers, gl_plugin_params_t::visual, xine_gl_plugin_s::xine, gl_plugin_params_t::xine, and XINE_GL_API_OPENGL.

Referenced by glx_init_class().

## ◆ _glx_get_proc_address()

static void * _glx_get_proc_address | ( | xine_gl_t * | gl,
|  | const char * | procname
| ) |  |
| static

References NULL.

Referenced by _glx_get_instance().

## ◆ _glx_make_current()

static int _glx_make_current | ( | xine_gl_t * | gl | ) |
| static

References _x_assert, xine_glx_t::context, xine_glx_t::display, xine_glx_t::drawable, GLX, xine_glx_t::is_current, xine_glx_t::lock1, xine_glx_t::lock2, xine_glx_t::p, xine_gl_plugin_s::xine, XINE_VERBOSITY_LOG, and xprintf.

Referenced by _glx_get_instance().

## ◆ _glx_query_extensions()

static const char * _glx_query_extensions | ( | xine_gl_t * | gl | ) |
| static

References xine_glx_t::display, GLX, NULL, and xine_glx_t::screen.

Referenced by _glx_get_instance().

## ◆ _glx_release_current()

static void _glx_release_current | ( | xine_gl_t * | gl | ) |
| static

References _x_assert, xine_glx_t::display, GLX, xine_glx_t::is_current, xine_glx_t::lock2, and NULL.

Referenced by _glx_get_instance().

## ◆ _glx_resize()

static void _glx_resize | ( | xine_gl_t * | gl,
|  | int | w,
|  | int | h
| ) |  |
| static

Referenced by _glx_get_instance().

## ◆ _glx_set_lockdisplay()

static void _glx_set_lockdisplay | ( | void * | this_gen,
|  | xine_cfg_entry_t * | entry
| ) |  |
| static

References xine_glx_t::lock1, xine_cfg_entry_s::num_value, xine_glx_t::p, xine_gl_plugin_s::xine, XINE_VERBOSITY_DEBUG, and xprintf.

Referenced by _register_config().

## ◆ _glx_set_native_window()

static void _glx_set_native_window | ( | xine_gl_t * | gl,
|  | void * | drawable
| ) |  |
| static

References _x_assert, xine_glx_t::display, xine_glx_t::drawable, GLX, and xine_glx_t::is_current.

Referenced by _glx_get_instance().

## ◆ _glx_swap_buffers()

static void _glx_swap_buffers | ( | xine_gl_t * | gl | ) |
| static

References xine_glx_t::display, xine_glx_t::drawable, and GLX.

Referenced by _glx_get_instance().

## ◆ _module_dispose()

static void _module_dispose | ( | xine_module_t * | module | ) |
| static

References _x_assert, xine_s::config, xine_glx_t::context, xine_glx_t::display, xine_glx_t::is_current, lprintf, NULL, xine_glx_t::p, config_values_s::unregister_callback, and xine_gl_plugin_s::xine.

Referenced by _glx_get_instance().

## ◆ _register_config()

static void _register_config | ( | config_values_t * | config,
|  | xine_glx_t * | glx
| ) |  |
| static

References _, _glx_set_lockdisplay(), xine_glx_t::lock1, NULL, and config_values_s::register_bool.

Referenced by _glx_get_instance(), and glx_init_class().

## ◆ glx_init_class()

static void * glx_init_class | ( | xine_t * | xine,
|  | const void * | params
| ) |  |
| static

References _glx_get_instance(), _register_config(), xine_s::config, xine_module_class_s::get_instance, N_, and NULL.

## Variable Documentation

## ◆ EXPORTED

const plugin_info_t xine_plugin_info [] EXPORTED

Initial value:
= {
{ PLUGIN_XINE_MODULE, 1, "glx", XINE_VERSION_CODE, &module_info_glx, glx_init_class },
{ PLUGIN_NONE, 0, NULL, 0, NULL, NULL },
}
glx_init_class
static void * glx_init_class(xine_t *xine, const void *params)
Definition: xine_glx.c:293
module_info_glx
static const xine_module_info_t module_info_glx
Definition: xine_glx.c:310
XINE_VERSION_CODE
#define XINE_VERSION_CODE
Definition: xine_internal.h:57
NULL
NULL
Definition: xine_plugin.c:78
PLUGIN_NONE
#define PLUGIN_NONE
Definition: xine_plugin.h:29
PLUGIN_XINE_MODULE
#define PLUGIN_XINE_MODULE
Definition: xine_plugin.h:41

## ◆ module_info_glx

const xine_module_info_t module_info_glx
| static

Initial value:
= {
.priority = 10,
.type = "gl_v1",
.sub_type = XINE_VISUAL_TYPE_X11,
}
XINE_VISUAL_TYPE_X11
#define XINE_VISUAL_TYPE_X11
Definition: xine.h:154