On Sun, Apr 27, 2008 at 12:28 AM, Mike Gibson <[EMAIL PROTECTED]> wrote:
> On Sat, Apr 26, 2008 at 5:37 AM, Denis Oliver Kropp <[EMAIL PROTECTED]> wrote:
>  > Mike Gibson wrote:
>  >
>  > > I'm getting the following assertion failure when compiled in debug
>  > > mode (and crashes in normal mode) in dfb_surface_get_buffer:
>  > >
>  > > D_ASSERT( surface->num_buffers > 0 );
>  > >
>  >
>  >  Does it happen with latest git version?
>
>  Yes.  Using the git versions of DirectFB and linux-fusion.
>
>  Perhaps a little more information might help.  I'm using qte-directfb
>  which I committed the site a while ago, along with the mythtv code for
>  video.  Both the qte-directfb plugin and the mythtv video code do
>  their own DirectFB initialization, since it's difficult to get them to
>  talk to each other.  But they both run in the same process.  I'm using
>  fusion, in the hope that that would allow them to work together.  All
>  the test code I wrote to make sure this would work works just fine.
>  Might this be part of the problem?  This should work, correct?
>
>  In fact, it seems to be that as soon as qte-directfb tries to Blit
>  something while the mythtv directfb stuff is working, it fails.
>
>  Another thing I've figured out.  This doesn't happen when I don't use
>  the tv, but when I put it on the first head.
>
>  Mike
>
>  P.S., the relevant DirectFB debug messages:
>
>  (!) [  NO NAME        35.564] (31140) *** Assertion
>  [surface->num_buffers > 0] failed *** [../../src/core/surface.h:291 in
>  dfb_surface_get_buffer()]
>  (!) [31140:   35.620] --> Caught signal 5 (unknown origin) <--
>   (!!!)  *** WARNING [still objects in 'Layer Region Pool'] ***
>  [object.c:241 in fusion_object_pool_destroy()]
>  (!) [  NO NAME        35.645] (31161) *** Assertion
>  [surface->buffer_indices[CSBR_BACK] < surface->num_buffers] failed ***
>  [surface.c:356 in dfb_surface_flip()]
>

The sequence of events:

1. qte-directfb initializes DFB using FULLSCREEN as the cooperative level
2. qte-directfb does some drawing until I go to watch video
3. mythtv directfb video initializes DFB with EXCLUSIVE as the cooperative level
4. mythtv directfb video shows video
5. while video is going, qte-directfb is asked to do some drawing
which it tries to do and fails

With my limited understanding of how DirectFB works, it seems to me
that this in fact, *shouldn't* work.  Could someone please verify that
this is true?  Once an app has EXCLUSIVE access, other apps will
probably start breaking.

I've been trying to remove the need for EXCLUSIVE from the mythtv
directfb video code, but have yet to be successful.  It would be nice
to know that this what I should be trying to do.

_______________________________________________
directfb-users mailing list
directfb-users@directfb.org
http://mail.directfb.org/cgi-bin/mailman/listinfo/directfb-users

Reply via email to