From: Antoine Cellerier Date: Tue, 28 Mar 2006 21:29:59 +0000 (+0000) Subject: Export stats in http interface X-Git-Tag: 0.9.0-test0~11734 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;ds=sidebyside;h=fe65cde1cecc6c775fb3c21c4c809a0b3c55ca55;hp=de6aa43586131a626d645ce535f070f28472a8c7;p=vlc Export stats in http interface --- diff --git a/modules/control/http/http.c b/modules/control/http/http.c index 8483b4e8f3..cdcd4758a4 100644 --- a/modules/control/http/http.c +++ b/modules/control/http/http.c @@ -489,6 +489,7 @@ static void ParseExecute( httpd_file_sys_t *p_args, char *p_buffer, audio_volume_t i_volume; char volume[5]; char state[8]; + char stats[20]; #define p_sys p_args->p_intf->p_sys if( p_sys->p_input ) @@ -548,6 +549,38 @@ static void ParseExecute( httpd_file_sys_t *p_args, char *p_buffer, E_(mvar_AppendNewVar)( p_args->vars, "stream_state", state ); E_(mvar_AppendNewVar)( p_args->vars, "charset", ((intf_sys_t *)p_args->p_intf->p_sys)->psz_charset ); + /* Stats */ +#define p_sys p_args->p_intf->p_sys + if( p_sys->p_input ) + { + input_item_t *p_item = p_sys->p_input->input.p_item; + if( p_item ) + { + vlc_mutex_lock( &p_item->p_stats->lock ); +#define STATS_INT( n ) sprintf( stats, "%d", p_item->p_stats->i_ ## n ); \ + E_(mvar_AppendNewVar)( p_args->vars, #n, stats ); +#define STATS_FLOAT( n ) sprintf( stats, "%f", p_item->p_stats->f_ ## n ); \ + E_(mvar_AppendNewVar)( p_args->vars, #n, stats ); + STATS_INT( read_bytes ) + STATS_FLOAT( input_bitrate ) + STATS_INT( demux_read_bytes ) + STATS_FLOAT( demux_bitrate ) + STATS_INT( decoded_video ) + STATS_INT( displayed_pictures ) + STATS_INT( lost_pictures ) + STATS_INT( decoded_audio ) + STATS_INT( played_abuffers ) + STATS_INT( lost_abuffers ) + STATS_INT( sent_packets ) + STATS_INT( sent_bytes ) + STATS_FLOAT( send_bitrate ) +#undef STATS_INT +#undef STATS_FLOAT + vlc_mutex_unlock( &p_item->p_stats->lock ); + } + } +#undef p_sys + E_(SSInit)( &p_args->stack ); /* allocate output */ diff --git a/share/http/requests/status.xml b/share/http/requests/status.xml index eabc059ff3..289285f49c 100644 --- a/share/http/requests/status.xml +++ b/share/http/requests/status.xml @@ -118,4 +118,19 @@ + + + + + + + + + + + + + + +