X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc.h;h=7ba6734a73413427fa326f786f192f01bcb1e95a;hb=c6f168ffcdd31fbdec00f30059a3c6ec98b95f92;hp=5cb1ac88a496727ec549c20ed2ce083c09f434c9;hpb=c5dac996061594e526fff114b4fd08a4fde865a4;p=vlc diff --git a/src/libvlc.h b/src/libvlc.h index 5cb1ac88a4..7ba6734a73 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -54,6 +54,8 @@ void vlc_CPU_dump(vlc_object_t *); int vlc_clone_detach (vlc_thread_t *, void *(*)(void *), void *, int); int vlc_object_waitpipe (vlc_object_t *obj); +void vlc_object_kill (vlc_object_t *) VLC_DEPRECATED; +#define vlc_object_kill(o) vlc_object_kill(VLC_OBJECT(o)) int vlc_set_priority( vlc_thread_t, int ); @@ -76,7 +78,6 @@ typedef struct vlc_exit vlc_mutex_t lock; void (*handler) (void *); void *opaque; - bool killed; } vlc_exit_t; void vlc_ExitInit( vlc_exit_t * ); @@ -119,8 +120,6 @@ void vlc_object_set_destructor (vlc_object_t *, vlc_destructor_t); /* * To be cleaned-up module stuff: */ -extern char *psz_vlcpath; - module_t *module_find_by_shortcut (const char *psz_shortcut); /** @@ -172,7 +171,7 @@ typedef struct libvlc_priv_t bool playlist_active; /* Messages */ - int i_verbose; ///< info messages + signed char i_verbose; ///< info messages bool b_color; ///< color messages? bool b_stats; ///< Whether to collect stats @@ -208,12 +207,6 @@ void intf_DestroyAll( libvlc_int_t * ); #define libvlc_stats( o ) (libvlc_priv((VLC_OBJECT(o))->p_libvlc)->b_stats) -/** - * LibVLC "main module" configuration settings array. - */ -extern module_config_t libvlc_config[]; -extern const size_t libvlc_config_count; - /* * Variables stuff */ @@ -222,67 +215,53 @@ void var_OptionParse (vlc_object_t *, const char *, bool trusted); /* * Stats stuff */ -int stats_Update (vlc_object_t*, counter_t *, vlc_value_t, vlc_value_t *); -counter_t * stats_CounterCreate (vlc_object_t*, int, int); -#define stats_CounterCreate(a,b,c) stats_CounterCreate( VLC_OBJECT(a), b, c ) -int stats_Get (vlc_object_t*, counter_t *, vlc_value_t*); -#define stats_Get(a,b,c) stats_Get( VLC_OBJECT(a), b, c) - -void stats_CounterClean (counter_t * ); - -static inline int stats_GetInteger( vlc_object_t *p_obj, counter_t *p_counter, - int64_t *value ) +enum { - int i_ret; - vlc_value_t val; val.i_int = 0; - if( !p_counter ) return VLC_EGENERIC; - i_ret = stats_Get( p_obj, p_counter, &val ); - *value = val.i_int; - return i_ret; -} -#define stats_GetInteger(a,b,c) stats_GetInteger( VLC_OBJECT(a), b, c ) + STATS_COUNTER, + STATS_DERIVATIVE, +}; -static inline int stats_GetFloat( vlc_object_t *p_obj, counter_t *p_counter, - float *value ) +typedef struct counter_sample_t { - int i_ret; - vlc_value_t val; val.f_float = 0.0; - if( !p_counter ) return VLC_EGENERIC; - i_ret = stats_Get( p_obj, p_counter, &val ); - *value = val.f_float; - return i_ret; -} -#define stats_GetFloat(a,b,c) stats_GetFloat( VLC_OBJECT(a), b, c ) + uint64_t value; + mtime_t date; +} counter_sample_t; -static inline int stats_UpdateInteger( vlc_object_t *p_obj,counter_t *p_co, - int i, int *pi_new ) +typedef struct counter_t { - int i_ret; - vlc_value_t val; - vlc_value_t new_val; new_val.i_int = 0; - if( !p_co ) return VLC_EGENERIC; - val.i_int = i; - i_ret = stats_Update( p_obj, p_co, val, &new_val ); - if( pi_new ) - *pi_new = new_val.i_int; - return i_ret; -} -#define stats_UpdateInteger(a,b,c,d) stats_UpdateInteger( VLC_OBJECT(a),b,c,d ) + int i_compute_type; + int i_samples; + counter_sample_t ** pp_samples; + + mtime_t last_update; +} counter_t; -static inline int stats_UpdateFloat( vlc_object_t *p_obj, counter_t *p_co, - float f, float *pf_new ) +enum { - vlc_value_t val; - int i_ret; - vlc_value_t new_val;new_val.f_float = 0.0; - if( !p_co ) return VLC_EGENERIC; - val.f_float = f; - i_ret = stats_Update( p_obj, p_co, val, &new_val ); - if( pf_new ) - *pf_new = new_val.f_float; - return i_ret; -} -#define stats_UpdateFloat(a,b,c,d) stats_UpdateFloat( VLC_OBJECT(a),b,c,d ) + STATS_INPUT_BITRATE, + STATS_READ_BYTES, + STATS_READ_PACKETS, + STATS_DEMUX_READ, + STATS_DEMUX_BITRATE, + STATS_DEMUX_CORRUPTED, + STATS_DEMUX_DISCONTINUITY, + STATS_PLAYED_ABUFFERS, + STATS_LOST_ABUFFERS, + STATS_DECODED_AUDIO, + STATS_DECODED_VIDEO, + STATS_DECODED_SUB, + STATS_CLIENT_CONNECTIONS, + STATS_ACTIVE_CONNECTIONS, + STATS_SOUT_SENT_PACKETS, + STATS_SOUT_SENT_BYTES, + STATS_SOUT_SEND_BITRATE, + STATS_DISPLAYED_PICTURES, + STATS_LOST_PICTURES, +}; + +counter_t * stats_CounterCreate (int); +void stats_Update (counter_t *, uint64_t, uint64_t *); +void stats_CounterClean (counter_t * ); void stats_ComputeInputStats(input_thread_t*, input_stats_t*); void stats_ReinitInputStats(input_stats_t *);