]> git.sesse.net Git - vlc/blobdiff - modules/video_output/aa.c
Release the display mode when we are done with it.
[vlc] / modules / video_output / aa.c
index 5c446284ec5e0505d755ac7f72289190814cbe3d..420767b587ead5383276bd47a4d67cb171294f02 100644 (file)
 #include <assert.h>
 #include <aalib.h>
 
+#ifndef WIN32
+# ifdef X_DISPLAY_MISSING
+#  error Xlib required due to XInitThreads
+# endif
+# include <vlc_xlib.h>
+#endif
+
 /* TODO
  * - what about RGB palette ?
  */
@@ -60,7 +67,7 @@ vlc_module_end()
  *****************************************************************************/
 static picture_pool_t *Pool   (vout_display_t *, unsigned);
 static void            Prepare(vout_display_t *, picture_t *);
-static void            Display(vout_display_t *, picture_t *);
+static void            PictureDisplay(vout_display_t *, picture_t *);
 static int             Control(vout_display_t *, int, va_list);
 
 /* */
@@ -83,6 +90,11 @@ static int Open(vlc_object_t *object)
     vout_display_t *vd = (vout_display_t *)object;
     vout_display_sys_t *sys;
 
+#ifndef WIN32
+    if (!vlc_xlib_init (object))
+        return VLC_EGENERIC;
+#endif
+
     /* Allocate structure */
     vd->sys = sys = calloc(1, sizeof(*sys));
     if (!sys)
@@ -118,7 +130,7 @@ static int Open(vlc_object_t *object)
 
     vd->pool    = Pool;
     vd->prepare = Prepare;
-    vd->display = Display;
+    vd->display = PictureDisplay;
     vd->control = Control;
     vd->manage  = Manage;
 
@@ -204,7 +216,7 @@ static void Prepare(vout_display_t *vd, picture_t *picture)
 /**
  * Display a picture
  */
-static void Display(vout_display_t *vd, picture_t *picture)
+static void PictureDisplay(vout_display_t *vd, picture_t *picture)
 {
     vout_display_sys_t *sys = vd->sys;