EXA classic problem with Xv

Yves De Muyter yves at connected.be
Thu Jun 10 03:54:35 PDT 2010


Here you find the code:

http://code.google.com/p/gma500/source/browse/trunk/xserver-xorg-video-psb/xserver-xorg-video-psb-0.32.1/src/psb_video.c

The problem is on line 688.

The code tries to find the pointer to the buffer and the offset, and if
it doesnt find it, it calls exaMoveInPixmap().

I don't like the 'while' thing personally but I didn't write that code
and are willing to change it, that's not the problem.

The problem is that exaMoveInPixmap() doesnt do anything if the pixmap
has a score that is 'PINNED', and that's the case here...

Could it be mplayer that is creating the window region the wrong way? I
can imagine alot of drivers don't touch the pixmap and simply overlay
their video...

-Yves


On Thu, Jun 10, 2010 at 12:38:27PM +0200, Michel Dänzer wrote:
> On Don, 2010-06-10 at 12:34 +0200, Yves De Muyter wrote: 
> > OK so i'm porting the 'poulsbo' driver to Xorg 1.7. What I'm working on
> > right now is to make Xv work in the driver. What the Xv-code does is to
> > get the address of the drawable, map it into SHM and ask the hardware to
> > blit the videoframe onto that drawable.
> > 
> > The problem is that the address of the drawable is not within our region
> > of SHM pixmap memory, so we need to call exaMoveInPixmap, but that one
> > doesnt work when the pixmap is pinned...
> 
> It would probably help if you could point to the code in question along
> with a specific example of a window being passed in and where exactly
> the problem arises.
> 
> 
> -- 
> Earthling Michel Dänzer           |                http://www.vmware.com
> Libre software enthusiast         |          Debian, X and DRI developer
> _______________________________________________
> xorg at lists.freedesktop.org: X.Org support
> Archives: http://lists.freedesktop.org/archives/xorg
> Info: http://lists.freedesktop.org/mailman/listinfo/xorg
> Your subscription address: yves at connected.be



More information about the xorg mailing list