+ /* */
+ const int i_state = var_GetInteger( p_input, "state" );
+
+ vlc_mutex_lock( &p_intf->p_sys->status_lock );
+ msg_rc( STATUS_CHANGE "( %s state: %d ): %s", psz_cmd,
+ i_state, ppsz_input_state[i_state] );
+ vlc_mutex_unlock( &p_intf->p_sys->status_lock );
+}
+static void RateChanged( intf_thread_t *p_intf,
+ input_thread_t *p_input )
+{
+ vlc_mutex_lock( &p_intf->p_sys->status_lock );
+ msg_rc( STATUS_CHANGE "( new rate: %.3f )",
+ var_GetFloat( p_input, "rate" ) );
+ vlc_mutex_unlock( &p_intf->p_sys->status_lock );
+}
+static void PositionChanged( intf_thread_t *p_intf,
+ input_thread_t *p_input )
+{
+ vlc_mutex_lock( &p_intf->p_sys->status_lock );
+ if( p_intf->p_sys->b_input_buffering )
+ msg_rc( STATUS_CHANGE "( time: %"PRId64"s )",
+ (var_GetTime( p_input, "time" )/1000000) );
+ p_intf->p_sys->b_input_buffering = false;
+ vlc_mutex_unlock( &p_intf->p_sys->status_lock );
+}
+static void CacheChanged( intf_thread_t *p_intf )
+{
+ vlc_mutex_lock( &p_intf->p_sys->status_lock );
+ p_intf->p_sys->b_input_buffering = true;