]> git.sesse.net Git - vlc/commitdiff
Small stats improvements
authorClément Stenac <zorglub@videolan.org>
Mon, 19 Jun 2006 17:33:43 +0000 (17:33 +0000)
committerClément Stenac <zorglub@videolan.org>
Mon, 19 Jun 2006 17:33:43 +0000 (17:33 +0000)
src/input/input.c
src/misc/stats.c

index 414c98fe3e386b565f03937a13932911077f015b..2086f2a0b8c8ec1f3b194373f43df9e8ab16a418 100644 (file)
@@ -683,26 +683,28 @@ static int Init( input_thread_t * p_input, vlc_bool_t b_quick )
         /* Prepare statistics */
 #define INIT_COUNTER( p, type, compute ) p_input->counters.p_##p = \
      stats_CounterCreate( p_input, VLC_VAR_##type, STATS_##compute);
-
-        INIT_COUNTER( read_bytes, INTEGER, COUNTER );
-        INIT_COUNTER( read_packets, INTEGER, COUNTER );
-        INIT_COUNTER( demux_read, INTEGER, COUNTER );
-        INIT_COUNTER( input_bitrate, FLOAT, DERIVATIVE );
-        INIT_COUNTER( demux_bitrate, FLOAT, DERIVATIVE );
-        INIT_COUNTER( played_abuffers, INTEGER, COUNTER );
-        INIT_COUNTER( lost_abuffers, INTEGER, COUNTER );
-        INIT_COUNTER( displayed_pictures, INTEGER, COUNTER );
-        INIT_COUNTER( lost_pictures, INTEGER, COUNTER );
-        INIT_COUNTER( decoded_audio, INTEGER, COUNTER );
-        INIT_COUNTER( decoded_video, INTEGER, COUNTER );
-        INIT_COUNTER( decoded_sub, INTEGER, COUNTER );
-        p_input->counters.p_sout_send_bitrate = NULL;
-        p_input->counters.p_sout_sent_packets = NULL;
-        p_input->counters.p_sout_sent_bytes = NULL;
-        if( p_input->counters.p_demux_bitrate )
-            p_input->counters.p_demux_bitrate->update_interval = 1000000;
-        if( p_input->counters.p_input_bitrate )
-            p_input->counters.p_input_bitrate->update_interval = 1000000;
+        if( p_this->p_libvlc->b_stats )
+        {
+            INIT_COUNTER( read_bytes, INTEGER, COUNTER );
+            INIT_COUNTER( read_packets, INTEGER, COUNTER );
+            INIT_COUNTER( demux_read, INTEGER, COUNTER );
+            INIT_COUNTER( input_bitrate, FLOAT, DERIVATIVE );
+            INIT_COUNTER( demux_bitrate, FLOAT, DERIVATIVE );
+            INIT_COUNTER( played_abuffers, INTEGER, COUNTER );
+            INIT_COUNTER( lost_abuffers, INTEGER, COUNTER );
+            INIT_COUNTER( displayed_pictures, INTEGER, COUNTER );
+            INIT_COUNTER( lost_pictures, INTEGER, COUNTER );
+            INIT_COUNTER( decoded_audio, INTEGER, COUNTER );
+            INIT_COUNTER( decoded_video, INTEGER, COUNTER );
+            INIT_COUNTER( decoded_sub, INTEGER, COUNTER );
+            p_input->counters.p_sout_send_bitrate = NULL;
+            p_input->counters.p_sout_sent_packets = NULL;
+            p_input->counters.p_sout_sent_bytes = NULL;
+            if( p_input->counters.p_demux_bitrate )
+                p_input->counters.p_demux_bitrate->update_interval = 1000000;
+            if( p_input->counters.p_input_bitrate )
+                p_input->counters.p_input_bitrate->update_interval = 1000000;
+        }
         vlc_mutex_init( p_input, &p_input->counters.counters_lock );
 
         /* handle sout */
@@ -717,11 +719,15 @@ static int Init( input_thread_t * p_input, vlc_bool_t b_quick )
                 free( psz );
                 return VLC_EGENERIC;
             }
-            INIT_COUNTER( sout_sent_packets, INTEGER, COUNTER );
-            INIT_COUNTER (sout_sent_bytes, INTEGER, COUNTER );
-            INIT_COUNTER( sout_send_bitrate, FLOAT, DERIVATIVE );
-            if( p_input->counters.p_sout_send_bitrate )
-                p_input->counters.p_sout_send_bitrate->update_interval = 1000000;
+            if( p_input->p_libvlc->b_stats )
+            {
+                INIT_COUNTER( sout_sent_packets, INTEGER, COUNTER );
+                INIT_COUNTER (sout_sent_bytes, INTEGER, COUNTER );
+                INIT_COUNTER( sout_send_bitrate, FLOAT, DERIVATIVE );
+                if( p_input->counters.p_sout_send_bitrate )
+                     p_input->counters.p_sout_send_bitrate->update_interval =
+                             1000000;
+            }
         }
         free( psz );
     }
index 87d3a1308ea0fa29070634b04bcae2f6dfe1e917..c2638ee0cc1e45c9c7fc2590a103289565dce763 100644 (file)
@@ -94,9 +94,7 @@ int __stats_Update( vlc_object_t *p_this, counter_t *p_counter,
  */
 int __stats_Get( vlc_object_t *p_this, counter_t *p_counter, vlc_value_t *val )
 {
-    if( !p_this->p_libvlc->b_stats ) return VLC_EGENERIC;
-
-    if( p_counter->i_samples == 0 )
+    if( !p_this->p_libvlc->b_stats || p_counter->i_samples == 0 )
     {
         val->i_int = val->f_float = 0.0;
         return VLC_EGENERIC;
@@ -147,7 +145,7 @@ void stats_ComputeInputStats( input_thread_t *p_input, input_stats_t *p_stats )
     /* Input */
     stats_GetInteger( p_input, p_input->counters.p_read_packets,
                       &p_stats->i_read_packets );
-    stats_GetInteger( p_input, p_input->counters.p_read_bytes, 
+    stats_GetInteger( p_input, p_input->counters.p_read_bytes,
                       &p_stats->i_read_bytes );
     stats_GetFloat( p_input, p_input->counters.p_input_bitrate,
                     &p_stats->f_input_bitrate );