]> git.sesse.net Git - vlc/commitdiff
Made XCB xvideo independant of VOUT_MAX_PICTURES.
authorLaurent Aimar <fenrir@videolan.org>
Sun, 23 May 2010 20:36:34 +0000 (22:36 +0200)
committerLaurent Aimar <fenrir@videolan.org>
Sun, 23 May 2010 20:36:34 +0000 (22:36 +0200)
The maximum number of surfaces it will allow is now 128, but the actual value
used is configured by the core (around 20-30 when DR is used, a few otherwise).

modules/video_output/xcb/xvideo.c

index 0fe9b13712db50dc1a11bfe36d3a2937d4a449c1..ecb58ba2e0352d1f42c4795c20219ecce0fa29a7 100644 (file)
@@ -71,7 +71,7 @@ vlc_module_begin ()
     add_shortcut ("xvideo")
 vlc_module_end ()
 
-#define MAX_PICTURES (VOUT_MAX_PICTURES)
+#define MAX_PICTURES (128)
 
 struct vout_display_sys_t
 {
@@ -586,7 +586,6 @@ static void Close (vlc_object_t *obj)
 static picture_pool_t *Pool (vout_display_t *vd, unsigned requested_count)
 {
     vout_display_sys_t *p_sys = vd->sys;
-    (void)requested_count;
 
     if (!p_sys->pool)
     {
@@ -600,8 +599,10 @@ static picture_pool_t *Pool (vout_display_t *vd, unsigned requested_count)
 
         unsigned count;
         picture_t *pic_array[MAX_PICTURES];
-        for (count = 0; count < MAX_PICTURES; count++)
+        for (count = 0; count < requested_count; count++)
         {
+            if (count >= MAX_PICTURES)
+                break;
             picture_resource_t *res = &p_sys->resource[count];
 
             for (int i = 0; i < __MIN (p_sys->att->num_planes, PICTURE_PLANE_MAX); i++)