]> git.sesse.net Git - vlc/commitdiff
- input: added intermediate state info opening & buffering
authorDamien Fouilleul <damienf@videolan.org>
Mon, 4 Sep 2006 17:48:38 +0000 (17:48 +0000)
committerDamien Fouilleul <damienf@videolan.org>
Mon, 4 Sep 2006 17:48:38 +0000 (17:48 +0000)
modules/control/http/http.c
modules/gui/beos/MediaControlView.cpp
modules/gui/ncurses.c
src/input/input.c
src/input/input_internal.h

index 0f333da8d379d3254be9c5f54ddd2ac382b05686..96f18c8b8e41bcd0ab0ec41a496fed7389ecb960 100644 (file)
@@ -522,6 +522,14 @@ static void ParseExecute( httpd_file_sys_t *p_args, char *p_buffer,
         {
             sprintf( state, "playing" );
         }
+        else if( val.i_int == OPENING_S )
+        {
+            sprintf( state, "opening/connecting" );
+        }
+        else if( val.i_int == BUFFERING_S )
+        {
+            sprintf( state, "buffering" );
+        }
         else if( val.i_int == PAUSE_S )
         {
             sprintf( state, "paused" );
index 9989b088d347bb68af11050067f487c630c79547..bcd68cbfd94aac92f296427266d4a8b40f647b89 100644 (file)
@@ -313,6 +313,8 @@ MediaControlView::SetStatus(int status, int rate)
     switch( status )
     {
         case PLAYING_S:
+        case OPENNING_S:
+        case BUFFERING_S:
             fPlayPause->SetPlaying();
             break;
         case PAUSE_S:
index 101d4cf01c5974086afa85cb95da51036fcc98ff..cbbab53fe10ee75e66a6bc1a91779aafcdb01636 100644 (file)
@@ -1213,6 +1213,14 @@ static void Redraw( intf_thread_t *p_intf, time_t *t_last_refresh )
         {
             mvnprintw( y++, 0, COLS, " State    : Playing" );
         }
+        else if( val.i_int == OPENNING_S )
+        {
+            mvnprintw( y++, 0, COLS, " State    : Openning/Connecting" );
+        }
+        else if( val.i_int == BUFFERING_S )
+        {
+            mvnprintw( y++, 0, COLS, " State    : Buffering" );
+        }
         else if( val.i_int == PAUSE_S )
         {
             mvnprintw( y++, 0, COLS, " State    : Paused" );
index 592d693e10ed80045b6bb6f92466edc365fd4187..3826284a78f95e561fe7b7ed3e1029d5cb00159c 100644 (file)
@@ -1048,10 +1048,7 @@ static int Init( input_thread_t * p_input, vlc_bool_t b_quick )
     }
 
     /* initialization is complete */
-    p_input->i_state = PLAYING_S;
-
-    val.i_int = PLAYING_S;
-    var_Change( p_input, "state", VLC_VAR_SETVALUE, &val, NULL );
+    input_ChangeState(p_input, PLAYING_S);
 
     return VLC_SUCCESS;
 
@@ -1091,16 +1088,12 @@ static void Error( input_thread_t *p_input )
  *****************************************************************************/
 static void End( input_thread_t * p_input )
 {
-    vlc_value_t val;
     int i;
 
     msg_Dbg( p_input, "closing input" );
 
     /* We are at the end */
-    p_input->i_state = END_S;
-
-    val.i_int = END_S;
-    var_Change( p_input, "state", VLC_VAR_SETVALUE, &val, NULL );
+    input_ChangeState(p_input, END_S);
 
     /* Clean control variables */
     input_ControlVarClean( p_input );
@@ -1983,6 +1976,8 @@ static int InputSourceInit( input_thread_t *p_input,
     {
         int64_t i_pts_delay;
 
+        input_ChangeState( p_input, OPENING_S);
+
         /* Now try a real access */
         in->p_access = access2_New( p_input, psz_access, psz_demux, psz_path,
                                     b_quick );
@@ -2079,6 +2074,8 @@ static int InputSourceInit( input_thread_t *p_input,
             var_Set( p_input, "seekable", val );
         }
 
+        input_ChangeState( p_input, BUFFERING_S);
+
         /* Create the stream_t */
         in->p_stream = stream_AccessNew( in->p_access, b_quick );
         if( in->p_stream == NULL )
index d1592fc07db1fcfb3424a6584983e42a4de971ef..6014e10e12736cc818c27a537a02fa6486f66418 100644 (file)
@@ -156,4 +156,11 @@ int subtitles_Filter( const char *);
 
 void MRLSplit( vlc_object_t *, char *, char **, char **, char ** );
 
+static inline void input_ChangeState( input_thread_t *p_input, int state )
+{
+    vlc_value_t val;
+    val.i_int = state;
+    var_Change( p_input, "state", VLC_VAR_SETVALUE, &val, NULL );
+}
+
 #endif