]> git.sesse.net Git - vlc/commitdiff
* src/input/input.c:
authorGildas Bazin <gbazin@videolan.org>
Sun, 27 Jun 2004 10:19:23 +0000 (10:19 +0000)
committerGildas Bazin <gbazin@videolan.org>
Sun, 27 Jun 2004 10:19:23 +0000 (10:19 +0000)
  + fixed typo in INPUT_CONTROL_SET_SEEKPOINT_NEXT.
  + a few coding style changes.
* input/var.c:
  + use the descriptive name for titles/chapters if available.

src/input/input.c
src/input/var.c

index 0740c01fb0e4550d648c084c31e191a395245ada..0f555d5cf14dd790affbfb7da0f8330b886dbf1e 100644 (file)
@@ -366,7 +366,8 @@ static int Run( input_thread_t *p_input )
                 }
                 else
                 {
-                    msg_Dbg( p_input, "repeating the same input (%d)", repeat.i_int );
+                    msg_Dbg( p_input, "repeating the same input (%d)",
+                             repeat.i_int );
                     if( repeat.i_int > 0 )
                     {
                         repeat.i_int--;
@@ -424,18 +425,21 @@ static int Run( input_thread_t *p_input )
             double f_pos;
             int64_t i_time, i_length;
             /* update input status variables */
-            if( !demux2_Control( p_input->input.p_demux, DEMUX_GET_POSITION, &f_pos ) )
+            if( !demux2_Control( p_input->input.p_demux,
+                                 DEMUX_GET_POSITION, &f_pos ) )
             {
                 val.f_float = (float)f_pos;
                 var_Change( p_input, "position", VLC_VAR_SETVALUE, &val, NULL );
             }
-            if( !demux2_Control( p_input->input.p_demux, DEMUX_GET_TIME, &i_time ) )
+            if( !demux2_Control( p_input->input.p_demux,
+                                 DEMUX_GET_TIME, &i_time ) )
             {
                 p_input->i_time = i_time;
                 val.i_time = i_time;
                 var_Change( p_input, "time", VLC_VAR_SETVALUE, &val, NULL );
             }
-            if( !demux2_Control( p_input->input.p_demux, DEMUX_GET_LENGTH, &i_length ) )
+            if( !demux2_Control( p_input->input.p_demux,
+                                 DEMUX_GET_LENGTH, &i_length ) )
             {
                 vlc_value_t old_val;
                 var_Get( p_input, "length", &old_val );
@@ -570,7 +574,8 @@ static int Init( input_thread_t * p_input )
 
     /* Load master infos */
     /* Init length */
-    if( !demux2_Control( p_input->input.p_demux, DEMUX_GET_LENGTH, &val.i_time ) && val.i_time > 0 )
+    if( !demux2_Control( p_input->input.p_demux, DEMUX_GET_LENGTH,
+                         &val.i_time ) && val.i_time > 0 )
     {
         var_Change( p_input, "length", VLC_VAR_SETVALUE, &val, NULL );
         /* TODO update playlist meta data */
@@ -646,7 +651,8 @@ static int Init( input_thread_t * p_input )
 
                 if( count.i_int < list.p_list->i_count )
                 {
-                    input_ControlPush( p_input, INPUT_CONTROL_SET_ES, &list.p_list->p_values[count.i_int] );
+                    input_ControlPush( p_input, INPUT_CONTROL_SET_ES,
+                                       &list.p_list->p_values[count.i_int] );
                 }
                 var_Change( p_input, "spu-es", VLC_VAR_FREELIST, &list, NULL );
             }
@@ -931,7 +937,8 @@ error:
     {
         subtitle_demux_t *p_sub;
         int i;
-        char **tmp = subtitles_Detect( p_input, val1.psz_string, p_input->psz_name );
+        char **tmp = subtitles_Detect( p_input, val1.psz_string,
+                                       p_input->psz_name );
         char **tmp2 = tmp;
         for( i = 0; *tmp2 != NULL; i++ )
         {
@@ -1081,7 +1088,8 @@ static void ControlReduce( input_thread_t *p_input )
         const int i_ct = p_input->control[i].i_type;
 
         /* XXX We can't merge INPUT_CONTROL_SET_ES */
-        msg_Dbg( p_input, "[%d/%d] l=%d c=%d", i, p_input->i_control, i_lt, i_ct );
+        msg_Dbg( p_input, "[%d/%d] l=%d c=%d", i, p_input->i_control,
+                 i_lt, i_ct );
         if( i_lt == i_ct &&
             ( i_ct == INPUT_CONTROL_SET_STATE ||
               i_ct == INPUT_CONTROL_SET_RATE ||
@@ -1111,7 +1119,8 @@ static void ControlReduce( input_thread_t *p_input )
     }
 }
 
-static vlc_bool_t Control( input_thread_t *p_input, int i_type, vlc_value_t val )
+static vlc_bool_t Control( input_thread_t *p_input, int i_type,
+                           vlc_value_t val )
 {
     vlc_bool_t b_force_update = VLC_FALSE;
 
@@ -1140,15 +1149,17 @@ static vlc_bool_t Control( input_thread_t *p_input, int i_type, vlc_value_t val
             else
             {
                 /* Should not fail */
-                demux2_Control( p_input->input.p_demux, DEMUX_GET_POSITION, &f_pos );
+                demux2_Control( p_input->input.p_demux,
+                                DEMUX_GET_POSITION, &f_pos );
                 f_pos += val.f_float;
             }
             if( f_pos < 0.0 ) f_pos = 0.0;
             if( f_pos > 1.0 ) f_pos = 1.0;
-            if( demux2_Control( p_input->input.p_demux, DEMUX_SET_POSITION, f_pos ) )
+            if( demux2_Control( p_input->input.p_demux, DEMUX_SET_POSITION,
+                                f_pos ) )
             {
-                msg_Err( p_input, "INPUT_CONTROL_SET_POSITION(_OFFSET) %2.1f%% failed",
-                         f_pos * 100 );
+                msg_Err( p_input, "INPUT_CONTROL_SET_POSITION(_OFFSET) "
+                         "%2.1f%% failed", f_pos * 100 );
             }
             else
             {
@@ -1198,8 +1209,8 @@ static vlc_bool_t Control( input_thread_t *p_input, int i_type, vlc_value_t val
             }
             if( i_ret )
             {
-                msg_Err( p_input, "INPUT_CONTROL_SET_TIME(_OFFSET) %lld failed",
-                         i_time );
+                msg_Err( p_input, "INPUT_CONTROL_SET_TIME(_OFFSET) "I64Fd
+                         " failed", i_time );
             }
             else
             {
@@ -1243,7 +1254,8 @@ static vlc_bool_t Control( input_thread_t *p_input, int i_type, vlc_value_t val
                 /* Reset clock */
                 es_out_Control( p_input->p_es_out, ES_OUT_RESET_PCR );
             }
-            else if( val.i_int == PAUSE_S && p_input->i_state == PLAYING_S && p_input->b_can_pause )
+            else if( val.i_int == PAUSE_S && p_input->i_state == PLAYING_S &&
+                     p_input->b_can_pause )
             {
                 int i_ret;
                 if( p_input->input.p_access )
@@ -1307,7 +1319,8 @@ static vlc_bool_t Control( input_thread_t *p_input, int i_type, vlc_value_t val
                 i_rate = INPUT_RATE_MAX;
             }
             if( i_rate != INPUT_RATE_DEFAULT &&
-                ( !p_input->b_can_pace_control || !p_input->b_out_pace_control ) )
+                ( !p_input->b_can_pace_control ||
+                  !p_input->b_out_pace_control ) )
             {
                 msg_Dbg( p_input, "cannot change rate" );
                 i_rate = INPUT_RATE_DEFAULT;
@@ -1338,8 +1351,9 @@ static vlc_bool_t Control( input_thread_t *p_input, int i_type, vlc_value_t val
 
         case INPUT_CONTROL_SET_ES:
             /* No need to force update, es_out does it if needed */
-            es_out_Control( p_input->p_es_out,
-                            ES_OUT_SET_ES, input_EsOutGetFromID( p_input->p_es_out, val.i_int ) );
+            es_out_Control( p_input->p_es_out, ES_OUT_SET_ES,
+                            input_EsOutGetFromID( p_input->p_es_out,
+                                                  val.i_int ) );
             break;
 
         case INPUT_CONTROL_SET_AUDIO_DELAY:
@@ -1415,13 +1429,13 @@ static vlc_bool_t Control( input_thread_t *p_input, int i_type, vlc_value_t val
 
                 if( i_type == INPUT_CONTROL_SET_SEEKPOINT_PREV )
                     i_seekpoint = p_demux->info.i_seekpoint - 1;
-                else if( i_type == INPUT_CONTROL_SET_TITLE_NEXT )
+                else if( i_type == INPUT_CONTROL_SET_SEEKPOINT_NEXT )
                     i_seekpoint = p_demux->info.i_seekpoint + 1;
                 else
                     i_seekpoint = val.i_int;
 
-                if( i_seekpoint >= 0 &&
-                    i_seekpoint < p_input->input.title[p_demux->info.i_title]->i_seekpoint )
+                if( i_seekpoint >= 0 && i_seekpoint <
+                    p_input->input.title[p_demux->info.i_title]->i_seekpoint )
                 {
                     demux2_Control( p_demux, DEMUX_SET_SEEKPOINT, i_seekpoint );
 
@@ -1441,8 +1455,8 @@ static vlc_bool_t Control( input_thread_t *p_input, int i_type, vlc_value_t val
                 else
                     i_seekpoint = val.i_int;
 
-                if( i_seekpoint >= 0 &&
-                    i_seekpoint < p_input->input.title[p_access->info.i_title]->i_seekpoint )
+                if( i_seekpoint >= 0 && i_seekpoint <
+                    p_input->input.title[p_access->info.i_title]->i_seekpoint )
                 {
                     access2_Control( p_access, ACCESS_SET_SEEKPOINT, i_seekpoint );
                     stream_AccessReset( p_input->input.p_stream );
@@ -1760,11 +1774,15 @@ static void SlaveDemux( input_thread_t *p_input )
                 int64_t i_stime;
                 if( demux2_Control( in->p_demux, DEMUX_GET_TIME, &i_stime ) )
                 {
-                    msg_Err( p_input, "slave[%d] doesn't like DEMUX_GET_TIME -> EOF", i );
+                    msg_Err( p_input, "slave[%d] doesn't like "
+                             "DEMUX_GET_TIME -> EOF", i );
                     i_ret = 0;
                     break;
                 }
-                //msg_Dbg( p_input, "slave time=%lld input=%lld", i_stime, i_time );
+#if 0
+                msg_Dbg( p_input, "slave time="I64Fd" input="I64Fd,
+                         i_stime, i_time );
+#endif
                 if( i_stime >= i_time )
                     break;
 
index ad73d909feb9353e0f43bd2a4552379970619685..89cfa4c350ac4a633ef4a3785f4f4dc10aa71fdb 100644 (file)
@@ -270,16 +270,13 @@ void input_ControlVarNavigation( input_thread_t *p_input )
         vlc_value_t val2, text, text2;
         int j;
 
-        /* Add title choice */
-        val2.i_int = i;
-        var_Change( p_input, "title", VLC_VAR_ADDCHOICE, &val2, NULL );
-
         /* Add Navigation entries */
         sprintf( val.psz_string,  "title %2i", i );
         var_Destroy( p_input, val.psz_string );
         var_Create( p_input, val.psz_string,
                     VLC_VAR_INTEGER|VLC_VAR_HASCHOICE|VLC_VAR_ISCOMMAND );
-        var_AddCallback( p_input, val.psz_string, NavigationCallback, (void *)i );
+        var_AddCallback( p_input, val.psz_string,
+                         NavigationCallback, (void *)i );
 
         if( p_input->title[i]->psz_name == NULL ||
             *p_input->title[i]->psz_name == '\0' )
@@ -292,6 +289,11 @@ void input_ControlVarNavigation( input_thread_t *p_input )
             text.psz_string = strdup( p_input->title[i]->psz_name );
         }
         var_Change( p_input, "navigation", VLC_VAR_ADDCHOICE, &val, &text );
+
+        /* Add title choice */
+        val2.i_int = i;
+        var_Change( p_input, "title", VLC_VAR_ADDCHOICE, &val2, &text );
+
         free( text.psz_string );
 
         for( j = 0; j < p_input->title[i]->i_seekpoint; j++ )
@@ -307,10 +309,12 @@ void input_ControlVarNavigation( input_thread_t *p_input )
             }
             else
             {
-                text2.psz_string = strdup( p_input->title[i]->seekpoint[j]->psz_name );
+                text2.psz_string =
+                    strdup( p_input->title[i]->seekpoint[j]->psz_name );
             }
 
-            var_Change( p_input, val.psz_string, VLC_VAR_ADDCHOICE, &val2, &text2 );
+            var_Change( p_input, val.psz_string, VLC_VAR_ADDCHOICE,
+                        &val2, &text2 );
             if( text2.psz_string ) free( text2.psz_string );
         }
 
@@ -353,8 +357,23 @@ void input_ControlVarTitle( input_thread_t *p_input, int i_title )
     var_Change( p_input, "chapter", VLC_VAR_CLEARCHOICES, NULL, NULL );
     for( i = 0; i <  t->i_seekpoint; i++ )
     {
-        val.i_int = i + 1;
-        var_Change( p_input, "chapter", VLC_VAR_ADDCHOICE, &val, NULL );
+        vlc_value_t text;
+        val.i_int = i;
+
+        if( t->seekpoint[i]->psz_name == NULL ||
+            *t->seekpoint[i]->psz_name == '\0' )
+        {
+            /* Default value */
+            text.psz_string = malloc( strlen( _("Chapter %i") ) + 20 );
+            sprintf( text.psz_string, _("Chapter %i"), i );
+        }
+        else
+        {
+            text.psz_string = strdup( t->seekpoint[i]->psz_name );
+        }
+
+        var_Change( p_input, "chapter", VLC_VAR_ADDCHOICE, &val, &text );
+        if( text.psz_string ) free( text.psz_string );
     }
 }