[Libva] segmentation fault with vainfo
Achim Hofmann
news at achim-hofmann.com
Thu Apr 28 12:24:22 PDT 2011
On Mon, 18 Apr 2011 13:09:06 +0200 (CEST), Gwenole Beauchesne wrote:
> On Thu, 14 Apr 2011, Achim Hofmann wrote:
>
>> libva: libva version 0.32.0-sds2
>> Xlib: extension "XFree86-DRI" missing on display ":0.0".
>> libva: va_getDriverName() returns 0
>> Segmentation fault
>
> There is a bug in va.c whereby a NULL driver_name would cause the
> function to crash, thus the application too. That's a sure thing that
> can be fixed, someone sent me a patch. However, there is another
> problem, possibly related to the driver detection code but I never could
> reproduce it.
I found the function within va.c which tries to obtain the driver_name:
static VAStatus va_getDriverName(VADisplay dpy, char **driver_name)
{
VADisplayContextP pDisplayContext = (VADisplayContextP)dpy;
return pDisplayContext->vaGetDriverName(pDisplayContext, driver_name);
}
And I also found the declaration of VADisplayContext within va_backend.h:
struct VADisplayContext
{
int vadpy_magic;
VADisplayContextP pNext;
VADriverContextP pDriverContext;
int (*vaIsValid) (
VADisplayContextP ctx
);
void (*vaDestroy) (
VADisplayContextP ctx
);
VAStatus (*vaGetDriverName) (
VADisplayContextP ctx,
char **driver_name
);
void *opaque; /* opaque for display extensions (e.g. GLX) */
};
There's a pointer to a function called vaGetDriverName, but where is the
definition for this function?
Regards,
Achim Hofmann
PS: Regarding to my question for an IDE, I decided for Code::Blocks now.
More information about the Libva
mailing list