[MPlayer-cvslog] r31062 - in trunk/libvo: gl_common.c gl_common.h
reimar
subversion at mplayerhq.hu
Sat Apr 24 18:46:47 CEST 2010
Author: reimar
Date: Sat Apr 24 18:46:47 2010
New Revision: 31062
Log:
First steps to support -vo gl with SDL-based Window handling.
Modified:
trunk/libvo/gl_common.c
trunk/libvo/gl_common.h
Modified: trunk/libvo/gl_common.c
==============================================================================
--- trunk/libvo/gl_common.c Sat Apr 24 12:50:21 2010 (r31061)
+++ trunk/libvo/gl_common.c Sat Apr 24 18:46:47 2010 (r31062)
@@ -1842,8 +1842,36 @@ static int x11_check_events(void) {
}
#endif
+#ifdef CONFIG_GL_SDL
+#ifdef CONFIG_SDL_SDL_H
+#include <SDL/SDL.h>
+#else
+#include <SDL.h>
+#endif
+
+static void swapGlBuffers_sdl(MPGLContext *ctx) {
+ SDL_GL_SwapBuffers();
+}
+
+#endif
+
+static int setGlWindow_dummy(MPGLContext *ctx) {
+ getFunctions(setNull, NULL);
+ return SET_WINDOW_OK;
+}
+
+static void releaseGlContext_dummy(MPGLContext *ctx) {
+}
+
+static int dummy_check_events(void) {
+ return 0;
+}
+
int init_mpglcontext(MPGLContext *ctx, enum MPGLType type) {
memset(ctx, 0, sizeof(*ctx));
+ ctx->setGlWindow = setGlWindow_dummy;
+ ctx->releaseGlContext = releaseGlContext_dummy;
+ ctx->check_events = dummy_check_events;
ctx->type = type;
switch (ctx->type) {
#ifdef CONFIG_GL_WIN32
@@ -1870,6 +1898,12 @@ int init_mpglcontext(MPGLContext *ctx, e
ctx->ontop = vo_x11_ontop;
return vo_init();
#endif
+#ifdef CONFIG_GL_SDL
+ case GLTYPE_SDL:
+ SDL_Init(SDL_INIT_VIDEO);
+ ctx->swapGlBuffers = swapGlBuffers_sdl;
+ return 1;
+#endif
default:
return 0;
}
@@ -1888,6 +1922,11 @@ void uninit_mpglcontext(MPGLContext *ctx
vo_x11_uninit();
break;
#endif
+#ifdef CONFIG_GL_SDL
+ case GLTYPE_SDL:
+ SDL_QuitSubSystem(SDL_INIT_VIDEO);
+ break;
+#endif
}
memset(ctx, 0, sizeof(*ctx));
}
Modified: trunk/libvo/gl_common.h
==============================================================================
--- trunk/libvo/gl_common.h Sat Apr 24 12:50:21 2010 (r31061)
+++ trunk/libvo/gl_common.h Sat Apr 24 18:46:47 2010 (r31062)
@@ -372,6 +372,7 @@ void glDisableYUVConversion(GLenum targe
enum MPGLType {
GLTYPE_W32,
GLTYPE_X11,
+ GLTYPE_SDL,
};
typedef struct MPGLContext {
More information about the MPlayer-cvslog
mailing list