On Samstag, 5. November 2005 16:51, Stefan Lucke wrote:
> On Samstag, 5. November 2005 09:38, Stefan Lucke wrote:
> > On Freitag, 4. November 2005 22:31, Stefan Lucke wrote:
> 
> > > 
> > > Normally I start dfb mode within an  X session. When dfb mode was 
> > > started in YUV2 mode I had a big black sticky rectangle in the upper 
> > > left corner (about 720x576 ? thats a guess). Leaving dfb mode resulted in
> > > color keyed OSD with xv out did not work.
> > > Starting and ending dfb in I420 mode recovered that.
> > > Starting dfb in YUV2 stretchblit brought the black box again :-((( .
> > > I tried several versions of softdevice and directfb without any change.
> > > The black box survived even reboot and soft-poweroff (power disconnect
> > > was not tested).
> > > 
> > > Now my black box has gone and I do not know why.
> > > Only a small idea. The initial surface size at dfb startup is 720x576.
> > > I changed that once to 820x576, started in dfb YUV2-stretchblit mode
> > > and had a very bad behaviour within softdevice.
> > > A few frames video with sound followed by poll timeouts and codec
> > > reinitialisation (but no black box).
> > > Since the following vdr restart very thing is fine and smooth again.
> > 
> > Aiee, switched back to DirectFB cvs version from 2005-10-31,
> > and the big black rect in upper left corner is back ;-(( , and color keyed
> > OSD in xv is inoperable.
> > 
> 
> For some reason I think it is caused by the BES. Even disabling
> all calls to the BES video layer, this black square ton top.
> 

Found a way to get rid of the black rect. Turning BES (colorkeying)
allways on. Maybe thats an interaction with X11.

#if 1
      // BES _on_
        if (videoLayer)
        {
            DFBDisplayLayerConfig       dlc;

          fprintf (stderr, " turning BES _on_\n");
          dlc.flags = DLCONF_OPTIONS;
          dlc.options = DLOP_DST_COLORKEY;//DLOP_NONE;
          try
          {
            videoLayer->SetConfiguration(dlc);
            videoLayer->SetDstColorKey(COLORKEY);

          }
          catch (DFBException *ex)
          {
            fprintf (stderr,"[dfb] BES-_on_: action=%s, result=%s\n",
                     ex->GetAction(), ex->GetResult());
            delete ex;
          }
        }
      // BES _on_
#endif

-- 
Stefan Lucke


_______________________________________________
directfb-users mailing list
[email protected]
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to