]> git.sesse.net Git - vlc/commitdiff
Add can-rate to distinguish between normal rate control and negative playback direction.
authorJean-Paul Saman <jean-paul.saman@m2x.nl>
Fri, 21 Nov 2008 10:48:18 +0000 (11:48 +0100)
committerJean-Paul Saman <jean-paul.saman@m2x.nl>
Fri, 21 Nov 2008 10:53:14 +0000 (11:53 +0100)
modules/control/rc.c
src/input/input.c
src/input/var.c

index 7ced84f2260204c5a02c0afa4e8f87fe01d85074..92f720205b0173c2ca3455f16f180f8e43cfacfe 100644 (file)
@@ -1086,7 +1086,7 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd,
     }
     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" );
             i_rate = (i_rate < 0) ? -i_rate : i_rate * 2;
index 50fdac80e20dea1bc08469db84a50c28237b82c6..b054373f65dad06d3dcfac0497b25f7902ed6b8e 100644 (file)
@@ -2381,6 +2381,7 @@ static int InputSourceInit( input_thread_t *p_input,
                             &in->b_can_pause ) )
             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-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 );
 
         int ret = demux_Control( in->p_demux, DEMUX_CAN_SEEK,
@@ -2466,6 +2467,7 @@ static int InputSourceInit( input_thread_t *p_input,
             access_Control( in->p_access, ACCESS_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-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 );
 
             access_Control( in->p_access, ACCESS_CAN_SEEK,
index 7e0878bb627b41dfbe116ba460a726d1c7931330..04e70d7708a06f24e9c93f091e465a9440e6e618 100644 (file)
@@ -479,6 +479,9 @@ void input_ConfigVarInit ( input_thread_t *p_input )
     var_Create( p_input, "can-pause", VLC_VAR_BOOL );
     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_SetBool( p_input, "can-rewind", false );