diff options
author | 2001-12-18 21:43:15 +0000 | |
---|---|---|
committer | 2001-12-18 21:43:15 +0000 | |
commit | 70e1464f2c2922013f88e38607c4bfd55c1f60c4 (patch) | |
tree | cd45342a462ac372742e8c59b374b7df0f7df429 /libvo/vo_directfb.c | |
parent | 1aff2950efb757307ac0b1467fb5a284949994d4 (diff) |
Applied patch by Jiri Svoboda <Jiri.Svoboda@seznam.cz>:
-proper setting of bg color
-turning BES at the end
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@3589 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'libvo/vo_directfb.c')
-rw-r--r-- | libvo/vo_directfb.c | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/libvo/vo_directfb.c b/libvo/vo_directfb.c index 6d6f786c1e..ccc442e5b1 100644 --- a/libvo/vo_directfb.c +++ b/libvo/vo_directfb.c @@ -267,6 +267,13 @@ static uint32_t preinit() 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 @@ static uint32_t init(uint32_t width, uint32_t height, uint32_t d_width, */ 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 @@ static void uninit(void) // 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"); |