Hallo, 
 
I still have problems with my Mga450 and the tv out. I've just compiled 
DirectFB,xine-lib and mplayer from CVSs. "mplayer -vo dfbmga..." and 
"df_xine -dfb:primary:layer=2" are working great, but all other samples 
give me just a green picture on tv screen.  
So if anyone has a hint, please help me. I really need a solution, because 
I want to write my own piece of code and I can't get it working on tv.  
 
My initial part looks like: 
 
    DFBCHECK (DirectFBInit (&argc, &argv)); 
    DFBCHECK (DirectFBCreate (&dfb));  
    DFBCHECK(dfb->GetCardCapabilities( dfb, &caps )); 
    DFBCHECK(dfb->GetDisplayLayer( dfb, 0, &layer )); 
    layer->SetCooperativeLevel( layer, DLSCL_ADMINISTRATIVE ); 
    if (!((caps.blitting_flags & DSBLIT_BLEND_ALPHACHANNEL) && 
(caps.blitting_flags & DSBLIT_BLEND_COLORALPHA  ))) 
    { 
        layer_config.flags = DLCONF_BUFFERMODE; 
        layer_config.buffermode = DLBM_BACKSYSTEM; 
        layer->SetConfiguration( layer, &layer_config ); 
    } 
    layer->GetConfiguration( layer, &layer_config ); 
    layer->EnableCursor ( layer, 0 ); 
    DFBCHECK (dfb->CreateImageProvider (dfb, 
"/home/riker/Eve2/default.png", &provider)); 
    dsc.flags = DFBSurfaceDescriptionFlags( DSDESC_WIDTH | DSDESC_HEIGHT | 
DSBLIT_BLEND_COLORALPHA); 
    dsc.width = layer_config.width; 
    dsc.height = layer_config.height; 
    DFBCHECK (dfb->CreateSurface( dfb, &dsc, &primary )); 
    DFBCHECK (provider->RenderTo (provider, primary, NULL)); 
    DFBCHECK (dfb->GetInputDevice (dfb, DIDID_KEYBOARD, &keyboard)); 
    DFBCHECK (keyboard->CreateEventBuffer (keyboard, &buffer)); 
    DFBCHECK (dfb->CreateImageProvider (dfb, 
"/home/riker/Eve2/selected.png", &provider)); 
    DFBCHECK (provider->GetSurfaceDescription (provider, &dsc)); 
    DFBCHECK (dfb->CreateSurface( dfb, &dsc, &Sel )); 
    DFBCHECK (provider->RenderTo (provider, Sel, NULL)); 
    font_dsc.flags = DFDESC_HEIGHT; 
    font_dsc.height = 48; 
    DFBCHECK (dfb->CreateFont (dfb, "/home/riker/Eve2/a010015l.pfb", 
&font_dsc, &font)); 
    DFBCHECK (dfb->EnumInputDevices( dfb, enum_devices_callback, NULL )); 
    layer->SetBackgroundImage( layer, primary ); 
    layer->SetBackgroundMode( layer, DLBM_IMAGE ); 
    desc.flags  = DFBWindowDescriptionFlags( DWDESC_POSX | DWDESC_POSY |    

DWDESC_WIDTH | DWDESC_HEIGHT | DWDESC_CAPS ); 
    desc.posx   = 0; 
    desc.posy   = 0; 
    desc.width  = layer_config.width; 
    desc.height = layer_config.height; 
    desc.caps   = DWCAPS_ALPHACHANNEL;  
    DFBCHECK(layer->CreateWindow( layer, &desc, &window ) ); 
    window->GetSurface( window, &window_surface ); 
    DFBCHECK (window_surface->SetFont (window_surface, font)); 
    ... 
 
 
Thanks, 
Markus 
 
 

-- 
+++ GMX DSL Premiumtarife 3 Monate gratis* + WLAN-Router 0,- EUR* +++
Clevere DSL-Nutzer wechseln jetzt zu GMX: http://www.gmx.net/de/go/dsl



Reply via email to