add_shortcut( "opengl" )
/* Allow opengl provider plugin selection */
add_string( "opengl-provider", "default", NULL, PROVIDER_TEXT,
- PROVIDER_LONGTEXT, true );
+ PROVIDER_LONGTEXT, true )
set_callbacks( CreateVout, DestroyVout )
vlc_module_end ()
p_sys->p_vout->render.i_aspect = p_vout->render.i_aspect;
p_sys->p_vout->fmt_render = p_vout->fmt_render;
p_sys->p_vout->fmt_in = p_vout->fmt_in;
- p_sys->p_vout->b_scale = p_vout->b_scale;
+ p_sys->p_vout->b_autoscale = p_vout->b_autoscale;
+ p_sys->p_vout->i_zoom = p_vout->i_zoom;
p_sys->p_vout->i_alignment = p_vout->i_alignment;
psz = config_GetPsz( p_vout, "opengl-provider" );
var_Create( p_sys->p_vout, "mouse-button-down", VLC_VAR_INTEGER );
var_Create( p_sys->p_vout, "video-on-top",
VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
+ var_Create( p_sys->p_vout, "autoscale",
+ VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
+ var_Create( p_sys->p_vout, "scale",
+ VLC_VAR_FLOAT | VLC_VAR_DOINHERIT );
var_AddCallback( p_sys->p_vout, "mouse-x", SendEvents, p_vout );
var_AddCallback( p_sys->p_vout, "mouse-y", SendEvents, p_vout );
var_AddCallback( p_sys->p_vout, "mouse-moved", SendEvents, p_vout );
var_AddCallback( p_sys->p_vout, "mouse-clicked", SendEvents, p_vout );
var_AddCallback( p_sys->p_vout, "mouse-button-down", SendEvents, p_vout );
+ var_AddCallback( p_vout, "autoscale", SendEvents, p_sys->p_vout );
+ var_AddCallback( p_vout, "scale", SendEvents, p_sys->p_vout );
return VLC_SUCCESS;
}
// to align in real time in OPENGL
if (p_sys->p_vout->i_alignment != p_vout->i_alignment)
{
- p_vout->i_changes = VOUT_CROP_CHANGE; //to force change
+ p_vout->i_changes |= VOUT_CROP_CHANGE; //to force change
p_sys->p_vout->i_alignment = p_vout->i_alignment;
}
+
+ /* forward signal that autoscale toggle has changed */
+ if (p_vout->i_changes & VOUT_SCALE_CHANGE )
+ {
+ p_vout->i_changes &= ~VOUT_SCALE_CHANGE;
+
+ p_sys->p_vout->i_changes |= VOUT_SCALE_CHANGE;
+ }
+
+ /* forward signal that scale has changed */
+ if (p_vout->i_changes & VOUT_ZOOM_CHANGE )
+ {
+ p_vout->i_changes &= ~VOUT_ZOOM_CHANGE;
+
+ p_sys->p_vout->i_changes |= VOUT_ZOOM_CHANGE;
+ }
+
+
return i_ret;
}
switch( i_query )
{
- case VOUT_SNAPSHOT:
- return vout_vaControlDefault( p_vout, i_query, args );
-
default:
if( p_sys->p_vout->pf_control )
return p_sys->p_vout->pf_control( p_sys->p_vout, i_query, args );