- counter_t *p_counter;
- stats_Create( p_input, "read_bytes", STATS_READ_BYTES,
- VLC_VAR_INTEGER, STATS_COUNTER );
- stats_Create( p_input, "read_packets", STATS_READ_PACKETS,
- VLC_VAR_INTEGER, STATS_COUNTER );
- stats_Create( p_input, "demux_read", STATS_DEMUX_READ,
- VLC_VAR_INTEGER, STATS_COUNTER );
- stats_Create( p_input, "input_bitrate", STATS_INPUT_BITRATE,
- VLC_VAR_FLOAT, STATS_DERIVATIVE );
- stats_Create( p_input, "demux_bitrate", STATS_DEMUX_BITRATE,
- VLC_VAR_FLOAT, STATS_DERIVATIVE );
-
- p_counter = stats_CounterGet( p_input, p_input->i_object_id,
- STATS_INPUT_BITRATE );
- if( p_counter ) p_counter->update_interval = 1000000;
- p_counter = stats_CounterGet( p_input, p_input->i_object_id,
- STATS_DEMUX_BITRATE );
- if( p_counter ) p_counter->update_interval = 1000000;
-
- stats_Create( p_input, "played_abuffers", STATS_PLAYED_ABUFFERS,
- VLC_VAR_INTEGER, STATS_COUNTER );
- stats_Create( p_input, "lost_abuffers", STATS_LOST_ABUFFERS,
- VLC_VAR_INTEGER, STATS_COUNTER );
+#define INIT_COUNTER( c, type, compute ) p_input->p->counters.p_##c = \
+ stats_CounterCreate( p_input, VLC_VAR_##type, STATS_##compute);
+ if( p_input->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->p->counters.p_sout_send_bitrate = NULL;
+ p_input->p->counters.p_sout_sent_packets = NULL;
+ p_input->p->counters.p_sout_sent_bytes = NULL;
+ if( p_input->p->counters.p_demux_bitrate )
+ p_input->p->counters.p_demux_bitrate->update_interval = 1000000;
+ if( p_input->p->counters.p_input_bitrate )
+ p_input->p->counters.p_input_bitrate->update_interval = 1000000;
+ }