summaryrefslogtreecommitdiffstats
path: root/libvo
diff options
context:
space:
mode:
authorpl <pl@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-18 21:43:15 +0000
committerpl <pl@b3059339-0415-0410-9bf9-f77b7e298cf2>2001-12-18 21:43:15 +0000
commit70e1464f2c2922013f88e38607c4bfd55c1f60c4 (patch)
treecd45342a462ac372742e8c59b374b7df0f7df429 /libvo
parent1aff2950efb757307ac0b1467fb5a284949994d4 (diff)
downloadmpv-70e1464f2c2922013f88e38607c4bfd55c1f60c4.tar.bz2
mpv-70e1464f2c2922013f88e38607c4bfd55c1f60c4.tar.xz
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')
-rw-r--r--libvo/vo_directfb.c31
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");