# HG changeset patch # User pl # Date 1008711795 0 # Node ID 8e56fe18e7fb0d62c0b0c8328835f8603826119b # Parent 6e21fbb41a2b1b20ee32dcce9260d1a6d504453c Applied patch by Jiri Svoboda : -proper setting of bg color -turning BES at the end diff -r 6e21fbb41a2b -r 8e56fe18e7fb libvo/vo_directfb.c --- 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");