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

Add can-rate to distinguish between normal rate control and negative playback direction.

parent 3db7bce2
...@@ -1086,7 +1086,7 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd, ...@@ -1086,7 +1086,7 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd,
} }
else if ( !strcmp( psz_cmd, "fastforward" ) ) else if ( !strcmp( psz_cmd, "fastforward" ) )
{ {
if( var_GetBool( p_input, "can-rewind" ) ) if( var_GetBool( p_input, "can-rate" ) )
{ {
int i_rate = var_GetInteger( p_input, "rate" ); int i_rate = var_GetInteger( p_input, "rate" );
i_rate = (i_rate < 0) ? -i_rate : i_rate * 2; i_rate = (i_rate < 0) ? -i_rate : i_rate * 2;
......
...@@ -2381,6 +2381,7 @@ static int InputSourceInit( input_thread_t *p_input, ...@@ -2381,6 +2381,7 @@ static int InputSourceInit( input_thread_t *p_input,
&in->b_can_pause ) ) &in->b_can_pause ) )
in->b_can_pause = false; in->b_can_pause = false;
var_SetBool( p_input, "can-pause", in->b_can_pause || !in->b_can_pace_control ); /* XXX temporary because of es_out_timeshift*/ var_SetBool( p_input, "can-pause", in->b_can_pause || !in->b_can_pace_control ); /* XXX temporary because of es_out_timeshift*/
var_SetBool( p_input, "can-rate", !in->b_can_pace_control || in->b_can_rate_control ); /* XXX temporary because of es_out_timeshift*/
var_SetBool( p_input, "can-rewind", !in->b_rescale_ts && !in->b_can_pace_control ); var_SetBool( p_input, "can-rewind", !in->b_rescale_ts && !in->b_can_pace_control );
int ret = demux_Control( in->p_demux, DEMUX_CAN_SEEK, int ret = demux_Control( in->p_demux, DEMUX_CAN_SEEK,
...@@ -2466,6 +2467,7 @@ static int InputSourceInit( input_thread_t *p_input, ...@@ -2466,6 +2467,7 @@ static int InputSourceInit( input_thread_t *p_input,
access_Control( in->p_access, ACCESS_CAN_PAUSE, access_Control( in->p_access, ACCESS_CAN_PAUSE,
&in->b_can_pause ); &in->b_can_pause );
var_SetBool( p_input, "can-pause", in->b_can_pause || !in->b_can_pace_control ); /* XXX temporary because of es_out_timeshift*/ var_SetBool( p_input, "can-pause", in->b_can_pause || !in->b_can_pace_control ); /* XXX temporary because of es_out_timeshift*/
var_SetBool( p_input, "can-rate", !in->b_can_pace_control || in->b_can_rate_control ); /* XXX temporary because of es_out_timeshift*/
var_SetBool( p_input, "can-rewind", !in->b_rescale_ts && !in->b_can_pace_control ); var_SetBool( p_input, "can-rewind", !in->b_rescale_ts && !in->b_can_pace_control );
access_Control( in->p_access, ACCESS_CAN_SEEK, access_Control( in->p_access, ACCESS_CAN_SEEK,
......
...@@ -479,6 +479,9 @@ void input_ConfigVarInit ( input_thread_t *p_input ) ...@@ -479,6 +479,9 @@ void input_ConfigVarInit ( input_thread_t *p_input )
var_Create( p_input, "can-pause", VLC_VAR_BOOL ); var_Create( p_input, "can-pause", VLC_VAR_BOOL );
var_SetBool( p_input, "can-pause", true ); /* Fixed later*/ var_SetBool( p_input, "can-pause", true ); /* Fixed later*/
var_Create( p_input, "can-rate", VLC_VAR_BOOL );
var_SetBool( p_input, "can-rate", false );
var_Create( p_input, "can-rewind", VLC_VAR_BOOL ); var_Create( p_input, "can-rewind", VLC_VAR_BOOL );
var_SetBool( p_input, "can-rewind", false ); var_SetBool( p_input, "can-rewind", false );
......
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