[vlc-devel] commit: XCB: do not render, we always use the native server format ( Rémi Denis-Courmont )

git version control git at videolan.org
Fri Apr 17 21:22:42 CEST 2009


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Fri Apr 17 22:22:18 2009 +0300| [a90da50b2061b2534b308b5eec497d02f4a48beb] | committer: Rémi Denis-Courmont 

XCB: do not render, we always use the native server format

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=a90da50b2061b2534b308b5eec497d02f4a48beb
---

 modules/video_output/xcb/x11.c |   29 +++--------------------------
 1 files changed, 3 insertions(+), 26 deletions(-)

diff --git a/modules/video_output/xcb/x11.c b/modules/video_output/xcb/x11.c
index 7adcfb8..80eef54 100644
--- a/modules/video_output/xcb/x11.c
+++ b/modules/video_output/xcb/x11.c
@@ -90,7 +90,6 @@ struct vout_sys_t
 
 static int Init (vout_thread_t *);
 static void Deinit (vout_thread_t *);
-static void Render (vout_thread_t *, picture_t *);
 static void Display (vout_thread_t *, picture_t *);
 static int Manage (vout_thread_t *);
 
@@ -300,7 +299,6 @@ static int Open (vlc_object_t *obj)
 
     vout->pf_init = Init;
     vout->pf_end = Deinit;
-    vout->pf_render = Render;
     vout->pf_display = Display;
     vout->pf_manage = Manage;
     return VLC_SUCCESS;
@@ -331,7 +329,6 @@ struct picture_sys_t
 {
     xcb_connection_t *conn; /* Shared connection to X server */
     xcb_image_t *image;  /* Picture buffer */
-    xcb_image_t *native; /* Rendered picture buffer (in X server format) */
     xcb_shm_seg_t segment; /* Shared memory segment X ID */
 };
 
@@ -407,12 +404,9 @@ static int PictureInit (vout_thread_t *vout, picture_t *pic)
             xcb_shm_detach (p_sys->conn, priv->segment);
         goto error;
     }
-    if (shm != SHM_ERR && xcb_image_native (p_sys->conn, img, 0) == NULL)
-        msg_Warn (vout, "incompatible X server image format");
 
     priv->conn = p_sys->conn;
     priv->image = img;
-    priv->native = NULL;
     pic->p_sys = priv;
     pic->p->p_pixels = img->data;
     pic->i_status = DESTROYED_PICTURE;
@@ -439,8 +433,6 @@ static void PictureDeinit (picture_t *pic)
         xcb_shm_detach (p_sys->conn, p_sys->segment);
         shmdt (p_sys->image->data);
     }
-    if ((p_sys->native != NULL) && (p_sys->native != p_sys->image))
-        xcb_image_destroy (p_sys->native);
     xcb_image_destroy (p_sys->image);
     free (p_sys);
 }
@@ -571,29 +563,15 @@ static void Deinit (vout_thread_t *vout)
 }
 
 /**
- * Prepares an image ahead of display.
- */
-static void Render (vout_thread_t *vout, picture_t *pic)
-{
-    vout_sys_t *p_sys = vout->p_sys;
-    picture_sys_t *priv = pic->p_sys;
-
-    if ((priv->native != NULL) && (priv->native != priv->image))
-        xcb_image_destroy (priv->native);
-    priv->native = xcb_image_native (p_sys->conn, priv->image, 1);
-}
-
-
-/**
  * Sends an image to the X server.
  */
 static void Display (vout_thread_t *vout, picture_t *pic)
 {
     vout_sys_t *p_sys = vout->p_sys;
     picture_sys_t *priv = pic->p_sys;
-    xcb_image_t *img = priv->image, *native = priv->native;
+    xcb_image_t *img = priv->image;
 
-    if ((native == img) && (img->base == NULL))
+    if (img->base == NULL)
     {
         xcb_shm_segment_info_t info = {
             .shmseg = priv->segment,
@@ -605,8 +583,7 @@ static void Display (vout_thread_t *vout, picture_t *pic)
                         0, 0, 0, 0, img->width, img->height, 0);
     }
     else
-    if (native != NULL)
-        xcb_image_put (p_sys->conn, p_sys->window, p_sys->gc, native, 0, 0, 0);
+        xcb_image_put (p_sys->conn, p_sys->window, p_sys->gc, img, 0, 0, 0);
     xcb_flush (p_sys->conn);
 }
 




More information about the vlc-devel mailing list