[MPlayer-users] Re: Trying to re-lock decoder . . .

Sinan Nalkaya erchamion.beren at gmail.com
Tue Nov 22 13:25:09 CET 2005


i`ve found something, seems its about my XvMC drivers, because i found these
lines in libxvmc/xvmc.c

static int grabDecoder(	ViaXvMCContext *ctx, int *hadLastLock)
{
    volatile ViaXvMCSAreaPriv *sAPriv =  SAREAPTR(ctx);
    int retFtx;

    /*
     * Try to grab the decoder. If it is not available we will sleep until
     * it becomes available or for a maximum of 20 ms.
     * Then try to grab it again, unless a timeout occured. If the decoder is
     * available, the lock should be reasonably fast.
     */

    if (ctx->haveDecoder) {
        fprintf(stderr,"ViaXvMC: ERROR: Trying to re-lock decoder.\n");
	*hadLastLock = 1;
        return 0;
    }

    while(1) {
	DRM_CAS_RESULT(__ret);
	DRM_CAS( XVMC_DECODER_FUTEX(sAPriv), 0,
		 ctx->drmcontext | DRM_LOCK_HELD,__ret);

	if (__ret) {

	    drm_via_futex_t fx;
	    int lockVal;

.
.



More information about the MPlayer-users mailing list