Commit b6cdf137 authored by Jean-Paul Saman's avatar Jean-Paul Saman

Properly detect XvMC capabilities.

parent 35b0ece9
......@@ -426,7 +426,7 @@ int E_(Activate) ( vlc_object_t *p_this )
msg_Dbg(p_vout, "Deinterlace = %d", p_vout->p_sys->xvmc_deinterlace_method);
msg_Dbg(p_vout, "Crop = %d", p_vout->p_sys->xvmc_crop_style);
if( !checkXvMCCap( p_vout ) )
if( checkXvMCCap( p_vout ) == VLC_EGENERIC )
{
msg_Err( p_vout, "no XVMC capability found" );
E_(Deactivate)( p_vout );
......
......@@ -745,25 +745,27 @@ int checkXvMCCap( vout_thread_t *p_vout )
XFree(surfaceInfo);
/*
* Try to create a direct rendering context. This will fail if we are not
* on the displaying computer or an indirect context is not available.
*/
* Try to create a direct rendering context. This will fail if we are not
* on the displaying computer or an indirect context is not available.
*/
XVMCUNLOCKDISPLAY( p_vout->p_sys->p_display );
curCap = p_vout->p_sys->xvmc_cap;
if( Success == XvMCCreateContext( p_vout->p_sys->p_display, i_xvport,
curCap->type_id,
curCap->max_width,
curCap->max_height,
XVMC_DIRECT, &c) )
XVMC_DIRECT, &c ) )
{
p_vout->p_sys->context_flags = XVMC_DIRECT;
msg_Dbg( p_vout, "using direct XVMC rendering context" );
p_vout->p_sys->context_flags = XVMC_DIRECT;
}
else if( Success == XvMCCreateContext( p_vout->p_sys->p_display, i_xvport,
curCap->type_id,
curCap->max_width,
curCap->max_height,
0, &c) )
0, &c ) )
{
msg_Dbg( p_vout, "using default XVMC rendering context" );
p_vout->p_sys->context_flags = 0;
}
else
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment