mirror of https://github.com/mpv-player/mpv
Try to set XV_SYNC_TO_VBLANK to enable vsync on non-overlay xv adapters.
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@15827 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
189e0d00a6
commit
85626ef1aa
|
@ -917,6 +917,7 @@ static uint32_t preinit(const char *arg)
|
||||||
{
|
{
|
||||||
return -1; // bail out, colorkey setup failed
|
return -1; // bail out, colorkey setup failed
|
||||||
}
|
}
|
||||||
|
vo_xv_enable_vsync();
|
||||||
|
|
||||||
fo = XvListImageFormats(mDisplay, xv_port, (int *) &formats);
|
fo = XvListImageFormats(mDisplay, xv_port, (int *) &formats);
|
||||||
|
|
||||||
|
|
|
@ -2284,6 +2284,19 @@ static Atom xv_intern_atom_if_exists( char const * atom_name )
|
||||||
|
|
||||||
return xv_atom;
|
return xv_atom;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \brief Try to enable vsync for xv.
|
||||||
|
* \return Returns -1 if not available, 0 on failure and 1 on success.
|
||||||
|
*/
|
||||||
|
int vo_xv_enable_vsync()
|
||||||
|
{
|
||||||
|
Atom xv_atom = xv_intern_atom_if_exists("XV_SYNC_TO_VBLANK");
|
||||||
|
if (xv_atom == None)
|
||||||
|
return -1;
|
||||||
|
return XvSetPortAttribute(mDisplay, xv_port, xv_atom, 1) == Success;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Print information about the colorkey method and source.
|
* \brief Print information about the colorkey method and source.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue