Mercurial > mplayer.hg
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");