[MPlayer-dev-eng] error with directfb 0.9.9 in CVS

Brian J. Murrell d2135d6cc4ca8594524a036691464723 at interlinx.bc.ca
Mon Mar 11 08:28:08 CET 2002


The meat of this is the same as reply to a message in mplayer-users,
but I wanted to repeat it here in the form of a bug report here
because it does seem to be a bug.

I am trying to use mplayer cvs with directfb 0.9.9 but I am getting
the following segfault in doing so:

#0  0x403ffbf3 in IDirectFBInputDevice_CreateEventBuffer (thiz=0x7, 
    buffer=0x81c5924) at idirectfbinputdevice.c:134
#1  0x0808b75a in config (width=640, height=480, d_width=640,
d_height=480, 
    fullscreen=1, title=0x818c223 "MPlayer", format=842094169,
info=0xbffff990)
    at vo_directfb.c:583
#2  0x080657e8 in main (argc=10, argv=0xbffffa24, envp=0xbffffa50)
    at mplayer.c:1428
#3  0x404475b0 in __libc_start_main () from /lib/libc.so.6

In libvo/vo_directfb.c at apporox. line 583, a call to
IDirectFBInputDevice_CreateEventBuffer() is made through the function
pointer keyboard->CreateEventBuffer.  However the first argument
passed to IDirectFBInputDevice_CreateEventBuffer() is DICAPS_ALL which
is a member of enum DFBInputDeviceCapabilities with a value of
0x00000007.

Now the problem is that the first argument to
IDirectFBInputDevice_CreateEventBuffer() is expected to be a
IDirectFBInputDevice * which gets dereferenced in the macro
INTERFACE_GET_DATA with:

data = (i##_data*) thiz->priv;

which of course causes a segfault because 0x07 is not a pointer to a
IDirectFBInputDevice.

If I replace the "DICAPS_ALL" in the call to
IDirectFBInputDevice_CreateEventBuffer() with "keyboard", it seems to
run just fine.

b.

-- 
Brian J. Murrell
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 232 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/mplayer-dev-eng/attachments/20020311/31c0895f/attachment.pgp>


More information about the MPlayer-dev-eng mailing list