]> git.sesse.net Git - vlc/commitdiff
* ./src/input/input_ext_intf.c
authorDerk-Jan Hartman <hartman@videolan.org>
Tue, 21 Jan 2003 14:15:05 +0000 (14:15 +0000)
committerDerk-Jan Hartman <hartman@videolan.org>
Tue, 21 Jan 2003 14:15:05 +0000 (14:15 +0000)
  - FASTER and SLOWER now take into account the current rate.

src/input/input_ext-intf.c

index 9783df764a6230be4f9e5718041605fa12530944..1ded67d36cdf7027f65f55f3d6ac881188a839da 100644 (file)
@@ -2,7 +2,7 @@
  * input_ext-intf.c: services to the interface
  *****************************************************************************
  * Copyright (C) 1998-2001 VideoLAN
- * $Id: input_ext-intf.c,v 1.46 2002/12/25 23:39:01 sam Exp $
+ * $Id: input_ext-intf.c,v 1.47 2003/01/21 14:15:05 hartman Exp $
  *
  * Authors: Christophe Massiot <massiot@via.ecp.fr>
  *
@@ -74,25 +74,29 @@ void __input_SetStatus( vlc_object_t * p_this, int i_mode )
         /* If we are already going too fast, go back to default rate */
         if( p_input->stream.control.i_rate * 8 <= DEFAULT_RATE )
         {
-            p_input->stream.i_new_status = PLAYING_S;
-            msg_Dbg( p_input, "playing at normal rate" );
+            msg_Dbg( p_input, "can not play any faster" );
         }
         else
         {
             p_input->stream.i_new_status = FORWARD_S;
+            p_input->stream.i_new_rate =
+                                    p_input->stream.control.i_rate / 2;
 
-            if( p_input->stream.control.i_rate < DEFAULT_RATE
-                    && p_input->stream.control.i_status == FORWARD_S )
+            if ( p_input->stream.i_new_rate < DEFAULT_RATE )
             {
-                p_input->stream.i_new_rate =
-                                    p_input->stream.control.i_rate / 2;
+                msg_Dbg( p_input, "playing at %i:1 fast forward",
+                     DEFAULT_RATE / p_input->stream.i_new_rate );
             }
-            else
+            else if ( p_input->stream.i_new_rate > DEFAULT_RATE )
             {
-                p_input->stream.i_new_rate = DEFAULT_RATE / 2;
+                msg_Dbg( p_input, "playing at 1:%i slow motion",
+                      p_input->stream.i_new_rate / DEFAULT_RATE );
+            }
+            else if ( p_input->stream.i_new_rate == DEFAULT_RATE )
+            {
+                p_input->stream.i_new_status = PLAYING_S;
+                msg_Dbg( p_input, "playing at normal rate" );
             }
-            msg_Dbg( p_input, "playing at %i:1 fast forward",
-                     DEFAULT_RATE / p_input->stream.i_new_rate );
         }
         break;
 
@@ -100,25 +104,29 @@ void __input_SetStatus( vlc_object_t * p_this, int i_mode )
         /* If we are already going too slow, go back to default rate */
         if( p_input->stream.control.i_rate >= 8 * DEFAULT_RATE )
         {
-            p_input->stream.i_new_status = PLAYING_S;
-            msg_Dbg( p_input, "playing at normal rate" );
+            msg_Dbg( p_input, "can not play any slower" );
         }
         else
         {
             p_input->stream.i_new_status = FORWARD_S;
+            p_input->stream.i_new_rate =
+                                    p_input->stream.control.i_rate * 2;
 
-            if( p_input->stream.control.i_rate > DEFAULT_RATE
-                    && p_input->stream.control.i_status == FORWARD_S )
+            if ( p_input->stream.i_new_rate < DEFAULT_RATE )
             {
-                p_input->stream.i_new_rate =
-                                    p_input->stream.control.i_rate * 2;
+                msg_Dbg( p_input, "playing at %i:1 fast forward",
+                     DEFAULT_RATE / p_input->stream.i_new_rate );
             }
-            else
+            else if ( p_input->stream.i_new_rate > DEFAULT_RATE )
             {
-                p_input->stream.i_new_rate = DEFAULT_RATE * 2;
-            }
-            msg_Dbg( p_input, "playing at 1:%i slow motion",
+                msg_Dbg( p_input, "playing at 1:%i slow motion",
                       p_input->stream.i_new_rate / DEFAULT_RATE );
+            }
+            else if ( p_input->stream.i_new_rate == DEFAULT_RATE )
+            {
+                p_input->stream.i_new_status = PLAYING_S;
+                msg_Dbg( p_input, "playing at normal rate" );
+            }
         }
         break;