Changeset d52644844b16b544109bc95add4e0b213c01d909
- Timestamp:
- 04/15/08 19:40:25
(5 months ago)
- Author:
- Pierre d'Herbemont <pdherbemont@videolan.org>
- git-committer:
- Pierre d'Herbemont <pdherbemont@videolan.org> 1208281225 +0200
- git-parent:
[8bd5140a3e179f8d8c75d86e87562ab63cdb2b39]
- git-author:
- Pierre d'Herbemont <pdherbemont@videolan.org> 1208280571 +0200
- Message:
stats: Support per object timer. (and implement stats_TimerClean()).
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| r449fd28 |
rd526448 |
|
| 196 | 196 | char * psz_name; |
|---|
| 197 | 197 | int i_type; |
|---|
| | 198 | void * p_obj; |
|---|
| 198 | 199 | int i_compute_type; |
|---|
| 199 | 200 | int i_samples; |
|---|
| … | … | |
| 371 | 372 | VLC_EXPORT( void,__stats_TimerDump, (vlc_object_t*, unsigned int) ); |
|---|
| 372 | 373 | VLC_EXPORT( void,__stats_TimersDumpAll, (vlc_object_t*) ); |
|---|
| 373 | | #define stats_TimersClean(a) __stats_TimersClean( VLC_OBJECT(a) ) |
|---|
| 374 | | VLC_EXPORT( void, __stats_TimersClean, (vlc_object_t * ) ); |
|---|
| | 374 | #define stats_TimersCleanAll(a) __stats_TimersCleanAll( VLC_OBJECT(a) ) |
|---|
| | 375 | VLC_EXPORT( void, __stats_TimersCleanAll, (vlc_object_t * ) ); |
|---|
| | 376 | |
|---|
| | 377 | #define stats_TimerClean(a,b) __stats_TimerClean( VLC_OBJECT(a), b ) |
|---|
| | 378 | VLC_EXPORT( void, __stats_TimerClean, (vlc_object_t *, int ) ); |
|---|
| 375 | 379 | |
|---|
| 376 | 380 | #endif |
|---|
| r449fd28 |
rd526448 |
|
| 989 | 989 | |
|---|
| 990 | 990 | stats_TimersDumpAll( p_libvlc ); |
|---|
| 991 | | stats_TimersClean( p_libvlc ); |
|---|
| | 991 | stats_TimersCleanAll( p_libvlc ); |
|---|
| 992 | 992 | |
|---|
| 993 | 993 | /* Free announce handler(s?) */ |
|---|
| r449fd28 |
rd526448 |
|
| 143 | 143 | input_stats_t *stats_NewInputStats( input_thread_t *p_input ) |
|---|
| 144 | 144 | { |
|---|
| | 145 | (void)p_input; |
|---|
| 145 | 146 | input_stats_t *p_stats = malloc( sizeof(input_stats_t) ); |
|---|
| 146 | 147 | |
|---|
| … | … | |
| 287 | 288 | for( i = 0 ; i < p_obj->p_libvlc->i_timers; i++ ) |
|---|
| 288 | 289 | { |
|---|
| 289 | | if( p_obj->p_libvlc->pp_timers[i]->i_id == i_id ) |
|---|
| | 290 | if( p_obj->p_libvlc->pp_timers[i]->i_id == i_id |
|---|
| | 291 | && p_obj->p_libvlc->pp_timers[i]->p_obj == p_obj ) |
|---|
| 290 | 292 | { |
|---|
| 291 | 293 | p_counter = p_obj->p_libvlc->pp_timers[i]; |
|---|
| … | … | |
| 305 | 307 | p_counter->psz_name = strdup( psz_name ); |
|---|
| 306 | 308 | p_counter->i_id = i_id; |
|---|
| | 309 | p_counter->p_obj = p_obj; |
|---|
| 307 | 310 | INSERT_ELEM( p_obj->p_libvlc->pp_timers, p_obj->p_libvlc->i_timers, |
|---|
| 308 | 311 | p_obj->p_libvlc->i_timers, p_counter ); |
|---|
| … | … | |
| 321 | 324 | if( p_counter->pp_samples[0]->value.b_bool == true ) |
|---|
| 322 | 325 | { |
|---|
| 323 | | msg_Warn( p_obj, "timer %s was already started !", psz_name ); |
|---|
| | 326 | msg_Warn( p_obj, "timer '%s' was already started !", psz_name ); |
|---|
| 324 | 327 | vlc_mutex_unlock( &p_obj->p_libvlc->timer_lock ); |
|---|
| 325 | 328 | return; |
|---|
| … | … | |
| 338 | 341 | for( i = 0 ; i < p_obj->p_libvlc->i_timers; i++ ) |
|---|
| 339 | 342 | { |
|---|
| 340 | | if( p_obj->p_libvlc->pp_timers[i]->i_id == i_id ) |
|---|
| | 343 | if( p_obj->p_libvlc->pp_timers[i]->i_id == i_id |
|---|
| | 344 | && p_obj->p_libvlc->pp_timers[i]->p_obj == p_obj ) |
|---|
| 341 | 345 | { |
|---|
| 342 | 346 | p_counter = p_obj->p_libvlc->pp_timers[i]; |
|---|
| … | … | |
| 365 | 369 | for( i = 0 ; i < p_obj->p_libvlc->i_timers; i++ ) |
|---|
| 366 | 370 | { |
|---|
| 367 | | if( p_obj->p_libvlc->pp_timers[i]->i_id == i_id ) |
|---|
| | 371 | if( p_obj->p_libvlc->pp_timers[i]->i_id == i_id |
|---|
| | 372 | && p_obj->p_libvlc->pp_timers[i]->p_obj == p_obj ) |
|---|
| 368 | 373 | { |
|---|
| 369 | 374 | p_counter = p_obj->p_libvlc->pp_timers[i]; |
|---|
| … | … | |
| 385 | 390 | } |
|---|
| 386 | 391 | |
|---|
| 387 | | void __stats_TimersClean( vlc_object_t *p_obj ) |
|---|
| | 392 | void __stats_TimerClean( vlc_object_t *p_obj, int i_id ) |
|---|
| | 393 | { |
|---|
| | 394 | int i; |
|---|
| | 395 | vlc_mutex_lock( &p_obj->p_libvlc->timer_lock ); |
|---|
| | 396 | for ( i = p_obj->p_libvlc->i_timers -1 ; i >= 0; i-- ) |
|---|
| | 397 | { |
|---|
| | 398 | counter_t *p_counter = p_obj->p_libvlc->pp_timers[i]; |
|---|
| | 399 | if( p_counter->i_id == i_id && p_counter->p_obj == p_obj ) |
|---|
| | 400 | { |
|---|
| | 401 | REMOVE_ELEM( p_obj->p_libvlc->pp_timers, |
|---|
| | 402 | p_obj->p_libvlc->i_timers, i ); |
|---|
| | 403 | stats_CounterClean( p_counter ); |
|---|
| | 404 | } |
|---|
| | 405 | } |
|---|
| | 406 | vlc_mutex_unlock( &p_obj->p_libvlc->timer_lock ); |
|---|
| | 407 | } |
|---|
| | 408 | |
|---|
| | 409 | void __stats_TimersCleanAll( vlc_object_t *p_obj ) |
|---|
| 388 | 410 | { |
|---|
| 389 | 411 | int i; |
|---|