/* */
memset( p_va, 0, sizeof(*p_va) );
+ p_va->i_config_id = VA_INVALID_ID;
+ p_va->i_context_id = VA_INVALID_ID;
/* Create a VA display */
if( !XInitThreads() )
if( vaCreateConfig( p_va->p_display,
i_profile, VAEntrypointVLD, &attrib, 1, &p_va->i_config_id ) )
{
- p_va->i_config_id = 0;
+ p_va->i_config_id = VA_INVALID_ID;
goto error;
}
vaDestroyImage( p_va->p_display, p_va->image.image_id );
}
- if( p_va->i_context_id )
+ if( p_va->i_context_id != VA_INVALID_ID )
vaDestroyContext( p_va->p_display, p_va->i_context_id );
for( int i = 0; i < p_va->i_surface_count && p_va->p_surface; i++ )
/* */
p_va->image.image_id = VA_INVALID_SURFACE;
- p_va->i_context_id = 0;
+ p_va->i_context_id = VA_INVALID_ID;
p_va->p_surface = NULL;
p_va->i_surface_width = 0;
p_va->i_surface_height = 0;
if( !p_va->p_surface )
return VLC_EGENERIC;
p_va->image.image_id = VA_INVALID_SURFACE;
+ p_va->i_context_id = VA_INVALID_ID;
/* Create surfaces */
VASurfaceID pi_surface_id[p_va->i_surface_count];
i_width, i_height, VA_PROGRESSIVE,
pi_surface_id, p_va->i_surface_count, &p_va->i_context_id ) )
{
- p_va->i_context_id = 0;
+ p_va->i_context_id = VA_INVALID_ID;
goto error;
}
if( p_va->i_surface_width || p_va->i_surface_height )
DestroySurfaces( p_va );
- if( p_va->i_config_id )
+ if( p_va->i_config_id != VA_INVALID_ID )
vaDestroyConfig( p_va->p_display, p_va->i_config_id );
if( p_va->p_display )
vaTerminate( p_va->p_display );