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
This commit is contained in:
pl 2001-12-18 21:43:15 +00:00
parent 1aff2950ef
commit 70e1464f2c
1 changed files with 10 additions and 21 deletions

View File

@ -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");