changeset 3588:8e56fe18e7fb

Applied patch by Jiri Svoboda <Jiri.Svoboda@seznam.cz>: -proper setting of bg color -turning BES at the end
author pl
date Tue, 18 Dec 2001 21:43:15 +0000
parents 6e21fbb41a2b
children 3a32e55f0138
files libvo/vo_directfb.c
diffstat 1 files changed, 10 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_directfb.c	Tue Dec 18 21:33:02 2001 +0000
+++ b/libvo/vo_directfb.c	Tue Dec 18 21:43:15 2001 +0000
@@ -267,6 +267,13 @@
         if (!fb_dev_name && !(fb_dev_name = getenv("FRAMEBUFFER"))) fb_dev_name = "/dev/fb0";
         DFBCHECK (DirectFBSetOption ("fbdev",fb_dev_name));
 
+//	uncomment this if you do not wish to create a new vt for DirectFB
+//       DFBCHECK (DirectFBSetOption ("no-vt-switch",fb_dev_name));
+
+//	uncomment this if you want to allow vt switching
+//       DFBCHECK (DirectFBSetOption ("vt-switching",fb_dev_name));
+        DFBCHECK (DirectFBSetOption ("bg-color","00000000"));
+
         DFBCHECK (DirectFBCreate (&dfb));
         DFBCHECK (dfb->SetCooperativeLevel (dfb, DFSCL_FULLSCREEN));
 
@@ -564,26 +571,6 @@
    */
   DFBCHECK (keyboard->CreateInputBuffer (keyboard, &buffer));
 
-    // clear the screen
-
-  if (no_yuy2) {DFBCHECK (primary->FillRectangle (primary, 0, 0, screen_width, screen_height));
-}
-  else {
-     // create temporary surface and clean
-     DFBSurfaceDescription dsc;
-     DFBResult             ret;
-     IDirectFBSurface *primary = NULL;
-     int sh,sw;
-     
-     dsc.flags = DSDESC_CAPS;
-     dsc.caps  = DSCAPS_PRIMARY | DSCAPS_VIDEOONLY;//| DSCAPS_FLIPPING;
-     DFBCHECK (dfb->CreateSurface( dfb, &dsc, &primary));
-     DFBCHECK (primary->GetSize (primary, &sw, &sh));
-     DFBCHECK (primary->FillRectangle (primary, 0, 0, sw, sh));
-     primary->Release(primary);
-  
-  }
-
 // yuv2rgb transform init
 
  if (((format == IMGFMT_YV12) || (format == IMGFMT_YUY2)) && no_yuy2){ yuv2rgb_init(frame_pixel_size * 8,MODE_RGB);};
@@ -885,7 +872,9 @@
 // we will not release dfb and layer because there could be a new film
 
 //  printf("Release primary\n");
-//  primary->Release (primary);
+  primary->Release (primary);
+//  switch off BES
+  if (videolayer) videolayer->SetOpacity(videolayer,0);
 //  printf("Release videolayer\n");
 //  if (videolayer) videolayer->Release(videolayer);
 //  printf("Release dfb\n");