]> git.sesse.net Git - vlc/commitdiff
Fix regression in timing behaviour. A minute jump is ~1 min again.
authorJean-Paul Saman <jpsaman@videolan.org>
Wed, 10 Aug 2005 23:16:20 +0000 (23:16 +0000)
committerJean-Paul Saman <jpsaman@videolan.org>
Wed, 10 Aug 2005 23:16:20 +0000 (23:16 +0000)
modules/control/hotkeys.c

index 333f8f19b3b91a5e414cef80164e575dd6152b5f..fb84b14cfaf3087131039c4834355e5b69323a65 100644 (file)
@@ -26,6 +26,7 @@
  * Preamble
  *****************************************************************************/
 #include <stdlib.h>                                      /* malloc(), free() */
+#include <math.h>
 
 #include <vlc/vlc.h>
 #include <vlc/intf.h>
@@ -245,6 +246,7 @@ static void Run( intf_thread_t *p_intf )
             {
                  i_action = p_hotkeys[i].i_action;
                  i_times  = p_hotkeys[i].i_times; /* times key pressed within max. delta time */
+               p_hotkeys[i].i_times = 0;
             }
         }
 
@@ -461,49 +463,49 @@ static void Run( intf_thread_t *p_intf )
             }
             else if( i_action == ACTIONID_JUMP_BACKWARD_3SEC && b_seekable )
             {
-                val.i_time = (-3000000 * 2^i_times);
+                val.i_time = (-3000000 * ((mtime_t)pow(2,i_times)));
                 var_Set( p_input, "time-offset", val );
                 DisplayPosition( p_intf, p_vout, p_input );
             }
             else if( i_action == ACTIONID_JUMP_FORWARD_3SEC && b_seekable )
             {
-                val.i_time = (3000000 * 2^i_times);
+                val.i_time = (3000000 * ((mtime_t)pow(2,i_times)));
                 var_Set( p_input, "time-offset", val );
                 DisplayPosition( p_intf, p_vout, p_input );
             }
             else if( i_action == ACTIONID_JUMP_BACKWARD_10SEC && b_seekable )
             {
-                val.i_time = (-10000000 * 2^i_times);
+                val.i_time = (-10000000 * ((mtime_t)pow(2,i_times)));
                 var_Set( p_input, "time-offset", val );
                 DisplayPosition( p_intf, p_vout, p_input );
             }
             else if( i_action == ACTIONID_JUMP_FORWARD_10SEC && b_seekable )
             {
-                val.i_time = (10000000 * 2^i_times);
+                val.i_time = (10000000 * ((mtime_t)pow(2,i_times)));
                 var_Set( p_input, "time-offset", val );
                 DisplayPosition( p_intf, p_vout, p_input );
             }
             else if( i_action == ACTIONID_JUMP_BACKWARD_1MIN && b_seekable )
             {
-                val.i_time = (-60000000 * 2^i_times);
+                val.i_time = (-60000000 * ((mtime_t)pow(2,i_times)));
                 var_Set( p_input, "time-offset", val );
                 DisplayPosition( p_intf, p_vout, p_input );
             }
             else if( i_action == ACTIONID_JUMP_FORWARD_1MIN && b_seekable )
             {
-                val.i_time = (60000000 * 2^i_times);
+                val.i_time = (60000000 * ((mtime_t)pow(2,i_times)));
                 var_Set( p_input, "time-offset", val );
                 DisplayPosition( p_intf, p_vout, p_input );
             }
             else if( i_action == ACTIONID_JUMP_BACKWARD_5MIN && b_seekable )
             {
-                val.i_time = (-300000000 * 2^i_times);
+                val.i_time = (-300000000 * ((mtime_t)pow(2,i_times)));
                 var_Set( p_input, "time-offset", val );
                 DisplayPosition( p_intf, p_vout, p_input );
             }
             else if( i_action == ACTIONID_JUMP_FORWARD_5MIN && b_seekable )
             {
-                val.i_time = (300000000 * 2^i_times);
+                val.i_time = (300000000 * ((mtime_t)pow(2,i_times)));
                 var_Set( p_input, "time-offset", val );
                 DisplayPosition( p_intf, p_vout, p_input );
             }