Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc-gpu
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc-gpu
Commits
26d5b738
Commit
26d5b738
authored
Feb 04, 2006
by
Clément Stenac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
* Avoid useless stats_Get calls
* Reduce vlc_object_find calls
parent
f8cac3e1
Changes
16
Show whitespace changes
Inline
Side-by-side
Showing
16 changed files
with
86 additions
and
73 deletions
+86
-73
NEWS
NEWS
+2
-3
include/main.h
include/main.h
+1
-0
include/vlc_messages.h
include/vlc_messages.h
+18
-8
include/vlc_symbols.h
include/vlc_symbols.h
+2
-2
modules/stream_out/transcode.c
modules/stream_out/transcode.c
+2
-2
src/audio_output/dec.c
src/audio_output/dec.c
+3
-2
src/audio_output/input.c
src/audio_output/input.c
+6
-3
src/input/decoder.c
src/input/decoder.c
+5
-5
src/input/es_out.c
src/input/es_out.c
+3
-4
src/input/stream.c
src/input/stream.c
+14
-20
src/libvlc.c
src/libvlc.c
+1
-0
src/misc/hashtables.c
src/misc/hashtables.c
+1
-1
src/misc/stats.c
src/misc/stats.c
+16
-10
src/network/httpd.c
src/network/httpd.c
+5
-3
src/stream_output/stream_output.c
src/stream_output/stream_output.c
+4
-7
src/video_output/video_output.c
src/video_output/video_output.c
+3
-3
No files found.
NEWS
View file @
26d5b738
...
...
@@ -4,6 +4,7 @@ Changes between 0.8.4a and 0.8.5-svn (not yet released):
--------------------------------------------------------
Core support:
* Statistics collection (bitrates, packets, connections, ...)
Input:
* Initial support for RTSP-over-HTTP (to allow NAT traversal)
...
...
@@ -49,11 +50,9 @@ OS X Port:
* Root wrapper to avoid running VLC as root
Developers:
* New libvlc API (not finished yet)
* Java bindings
Changes between 0.8.4 and 0.8.4a:
---------------------------------
...
...
include/main.h
View file @
26d5b738
...
...
@@ -62,6 +62,7 @@ struct libvlc_t
/* Do stats ? - We keep this boolean to avoid unneeded lookups */
vlc_bool_t
b_stats
;
stats_handler_t
*
p_stats
;
/* Arch-specific variables */
#if !defined( WIN32 )
...
...
include/vlc_messages.h
View file @
26d5b738
...
...
@@ -249,8 +249,8 @@ struct stats_handler_t
VLC_EXPORT
(
void
,
stats_HandlerDestroy
,
(
stats_handler_t
*
)
);
#define stats_Update( a,b,c
) __stats_Update( VLC_OBJECT( a ), b, c
)
VLC_EXPORT
(
int
,
__stats_Update
,
(
vlc_object_t
*
,
const
char
*
,
vlc_value_t
)
);
#define stats_Update( a,b,c
, d) __stats_Update( VLC_OBJECT( a ), b, c, d
)
VLC_EXPORT
(
int
,
__stats_Update
,
(
vlc_object_t
*
,
const
char
*
,
vlc_value_t
,
vlc_value_t
*
)
);
#define stats_Create( a,b,c,d ) __stats_Create( VLC_OBJECT(a), b, c, d )
VLC_EXPORT
(
int
,
__stats_Create
,
(
vlc_object_t
*
,
const
char
*
,
int
,
int
)
);
#define stats_Get( a,b,c,d ) __stats_Create( VLC_OBJECT(a), b, c, d )
...
...
@@ -277,21 +277,31 @@ static inline int __stats_GetFloat( vlc_object_t *p_obj, int i_id,
*
value
=
val
.
f_float
;
return
i_ret
;
}
#define stats_UpdateInteger( a,b,c
) __stats_UpdateInteger( VLC_OBJECT(a),b,c
)
#define stats_UpdateInteger( a,b,c
,d ) __stats_UpdateInteger( VLC_OBJECT(a),b,c,d
)
static
inline
int
__stats_UpdateInteger
(
vlc_object_t
*
p_obj
,
const
char
*
psz_name
,
int
i
)
const
char
*
psz_name
,
int
i
,
int
*
pi_new
)
{
int
i_ret
;
vlc_value_t
val
;
vlc_value_t
new_val
;
val
.
i_int
=
i
;
return
__stats_Update
(
p_obj
,
psz_name
,
val
);
i_ret
=
__stats_Update
(
p_obj
,
psz_name
,
val
,
&
new_val
);
if
(
pi_new
)
*
pi_new
=
new_val
.
i_int
;
return
i_ret
;
}
#define stats_UpdateFloat( a,b,c
) __stats_UpdateFloat( VLC_OBJECT(a),b,c
)
#define stats_UpdateFloat( a,b,c
,d ) __stats_UpdateFloat( VLC_OBJECT(a),b,c,d
)
static
inline
int
__stats_UpdateFloat
(
vlc_object_t
*
p_obj
,
const
char
*
psz_name
,
float
f
)
const
char
*
psz_name
,
float
f
,
float
*
pf_new
)
{
vlc_value_t
val
;
int
i_ret
;
vlc_value_t
new_val
;
val
.
f_float
=
f
;
return
__stats_Update
(
p_obj
,
psz_name
,
val
);
i_ret
=
__stats_Update
(
p_obj
,
psz_name
,
val
,
&
new_val
);
if
(
pf_new
)
*
pf_new
=
new_val
.
f_float
;
return
i_ret
;
}
/******************
...
...
include/vlc_symbols.h
View file @
26d5b738
...
...
@@ -124,7 +124,7 @@ void vlm_MessageDelete (vlm_message_t *);
void
vout_SynchroDecode
(
vout_synchro_t
*
);
int
playlist_Delete
(
playlist_t
*
,
int
);
void
aout_FiltersPlay
(
aout_instance_t
*
p_aout
,
aout_filter_t
**
pp_filters
,
int
i_nb_filters
,
aout_buffer_t
**
pp_input_buffer
);
int
__stats_Update
(
vlc_object_t
*
,
const
char
*
,
vlc_value_t
);
int
__stats_Update
(
vlc_object_t
*
,
const
char
*
,
vlc_value_t
,
vlc_value_t
*
);
int
__stats_Get
(
vlc_object_t
*
,
int
,
const
char
*
,
vlc_value_t
*
);
char
*
httpd_ClientIP
(
httpd_client_t
*
cl
,
char
*
psz_ip
);
int
__intf_UserProgress
(
vlc_object_t
*
,
const
char
*
,
const
char
*
,
float
);
...
...
@@ -897,7 +897,7 @@ struct module_symbols_t
void
(
*
__intf_UserProgressUpdate_inner
)
(
vlc_object_t
*
,
int
,
const
char
*
,
float
);
void
(
*
__intf_UserHide_inner
)
(
vlc_object_t
*
,
int
);
int
(
*
__stats_Create_inner
)
(
vlc_object_t
*
,
const
char
*
,
int
,
int
);
int
(
*
__stats_Update_inner
)
(
vlc_object_t
*
,
const
char
*
,
vlc_value_t
);
int
(
*
__stats_Update_inner
)
(
vlc_object_t
*
,
const
char
*
,
vlc_value_t
,
vlc_value_t
*
);
int
(
*
__stats_Get_inner
)
(
vlc_object_t
*
,
int
,
const
char
*
,
vlc_value_t
*
);
void
(
*
stats_ComputeInputStats_inner
)
(
input_thread_t
*
,
input_stats_t
*
);
void
(
*
stats_DumpInputStats_inner
)
(
input_stats_t
*
);
...
...
modules/stream_out/transcode.c
View file @
26d5b738
...
...
@@ -1328,7 +1328,7 @@ static int transcode_audio_process( sout_stream_t *p_stream,
while
(
(
p_audio_buf
=
id
->
p_decoder
->
pf_decode_audio
(
id
->
p_decoder
,
&
in
))
)
{
stats_UpdateInteger
(
p_stream
->
p_parent
->
p_parent
,
"decoded_audio"
,
1
);
stats_UpdateInteger
(
p_stream
->
p_parent
->
p_parent
,
"decoded_audio"
,
1
,
NULL
);
if
(
p_sys
->
b_master_sync
)
{
mtime_t
i_dts
=
date_Get
(
&
id
->
interpolated_pts
)
+
1
;
...
...
@@ -1731,7 +1731,7 @@ static int transcode_video_process( sout_stream_t *p_stream,
while
(
(
p_pic
=
id
->
p_decoder
->
pf_decode_video
(
id
->
p_decoder
,
&
in
))
)
{
subpicture_t
*
p_subpic
=
0
;
stats_UpdateInteger
(
p_stream
->
p_parent
->
p_parent
,
"decoded_video"
,
1
);
stats_UpdateInteger
(
p_stream
->
p_parent
->
p_parent
,
"decoded_video"
,
1
,
NULL
);
if
(
p_stream
->
p_sout
->
i_out_pace_nocontrol
&&
p_sys
->
b_hurry_up
)
{
...
...
src/audio_output/dec.c
View file @
26d5b738
...
...
@@ -312,7 +312,8 @@ int aout_DecPlay( aout_instance_t * p_aout, aout_input_t * p_input,
p_buffer
->
start_date
-
mdate
());
if
(
p_input
->
p_input_thread
)
{
stats_UpdateInteger
(
p_input
->
p_input_thread
,
"lost_abuffers"
,
1
);
stats_UpdateInteger
(
p_input
->
p_input_thread
,
"lost_abuffers"
,
1
,
NULL
);
}
aout_BufferFree
(
p_buffer
);
return
-
1
;
...
...
@@ -367,7 +368,7 @@ int aout_DecPlay( aout_instance_t * p_aout, aout_input_t * p_input,
if
(
p_input
->
p_input_thread
)
{
stats_UpdateInteger
(
p_input
->
p_input_thread
,
"played_abuffers"
,
1
);
"played_abuffers"
,
1
,
NULL
);
}
vlc_mutex_unlock
(
&
p_aout
->
mixer_lock
);
...
...
src/audio_output/input.c
View file @
26d5b738
...
...
@@ -447,7 +447,8 @@ int aout_InputPlay( aout_instance_t * p_aout, aout_input_t * p_input,
start_date
=
0
;
if
(
p_input
->
p_input_thread
)
{
stats_UpdateInteger
(
p_input
->
p_input_thread
,
"lost_abuffers"
,
1
);
stats_UpdateInteger
(
p_input
->
p_input_thread
,
"lost_abuffers"
,
1
,
NULL
);
}
}
...
...
@@ -459,7 +460,8 @@ int aout_InputPlay( aout_instance_t * p_aout, aout_input_t * p_input,
mdate
()
-
p_buffer
->
start_date
);
if
(
p_input
->
p_input_thread
)
{
stats_UpdateInteger
(
p_input
->
p_input_thread
,
"lost_abuffers"
,
1
);
stats_UpdateInteger
(
p_input
->
p_input_thread
,
"lost_abuffers"
,
1
,
NULL
);
}
aout_BufferFree
(
p_buffer
);
p_input
->
i_resampling_type
=
AOUT_RESAMPLING_NONE
;
...
...
@@ -500,7 +502,8 @@ int aout_InputPlay( aout_instance_t * p_aout, aout_input_t * p_input,
aout_BufferFree
(
p_buffer
);
if
(
p_input
->
p_input_thread
)
{
stats_UpdateInteger
(
p_input
->
p_input_thread
,
"lost_abuffers"
,
1
);
stats_UpdateInteger
(
p_input
->
p_input_thread
,
"lost_abuffers"
,
1
,
NULL
);
}
return
0
;
}
...
...
src/input/decoder.c
View file @
26d5b738
...
...
@@ -627,7 +627,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
while
(
(
p_aout_buf
=
p_dec
->
pf_decode_audio
(
p_dec
,
&
p_packetized_block
))
)
{
stats_UpdateInteger
(
p_dec
->
p_parent
,
"decoded_audio"
,
1
);
stats_UpdateInteger
(
p_dec
->
p_parent
,
"decoded_audio"
,
1
,
NULL
);
/* FIXME the best would be to handle the case start_date < preroll < end_date
* but that's not easy with non raw audio stream */
if
(
p_dec
->
p_owner
->
i_preroll_end
>
0
&&
...
...
@@ -651,7 +651,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
}
else
while
(
(
p_aout_buf
=
p_dec
->
pf_decode_audio
(
p_dec
,
&
p_block
))
)
{
stats_UpdateInteger
(
p_dec
->
p_parent
,
"decoded_audio"
,
1
);
stats_UpdateInteger
(
p_dec
->
p_parent
,
"decoded_audio"
,
1
,
NULL
);
if
(
p_dec
->
p_owner
->
i_preroll_end
>
0
&&
p_aout_buf
->
start_date
<
p_dec
->
p_owner
->
i_preroll_end
)
{
...
...
@@ -698,7 +698,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
&
p_packetized_block
))
)
{
stats_UpdateInteger
(
p_dec
->
p_parent
,
"decoded_video"
,
1
);
1
,
NULL
);
if
(
p_dec
->
p_owner
->
i_preroll_end
>
0
&&
p_pic
->
date
<
p_dec
->
p_owner
->
i_preroll_end
)
{
...
...
@@ -719,7 +719,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
}
else
while
(
(
p_pic
=
p_dec
->
pf_decode_video
(
p_dec
,
&
p_block
))
)
{
stats_UpdateInteger
(
p_dec
->
p_parent
,
"decoded_video"
,
1
);
stats_UpdateInteger
(
p_dec
->
p_parent
,
"decoded_video"
,
1
,
NULL
);
if
(
p_dec
->
p_owner
->
i_preroll_end
>
0
&&
p_pic
->
date
<
p_dec
->
p_owner
->
i_preroll_end
)
{
...
...
@@ -739,7 +739,7 @@ static int DecoderDecode( decoder_t *p_dec, block_t *p_block )
subpicture_t
*
p_spu
;
while
(
(
p_spu
=
p_dec
->
pf_decode_sub
(
p_dec
,
&
p_block
)
)
)
{
stats_UpdateInteger
(
p_dec
->
p_parent
,
"decoded_sub"
,
1
);
stats_UpdateInteger
(
p_dec
->
p_parent
,
"decoded_sub"
,
1
,
NULL
);
if
(
p_dec
->
p_owner
->
i_preroll_end
>
0
&&
p_spu
->
i_start
<
p_dec
->
p_owner
->
i_preroll_end
&&
(
p_spu
->
i_stop
<=
0
||
p_spu
->
i_stop
<=
p_dec
->
p_owner
->
i_preroll_end
)
)
...
...
src/input/es_out.c
View file @
26d5b738
...
...
@@ -1033,10 +1033,9 @@ static int EsOutSend( es_out_t *out, es_out_id_t *es, block_t *p_block )
if
(
p_input
->
p_libvlc
->
b_stats
)
{
stats_UpdateInteger
(
p_input
,
"demux_read"
,
p_block
->
i_buffer
);
stats_GetInteger
(
p_input
,
p_input
->
i_object_id
,
"demux_read"
,
stats_UpdateInteger
(
p_input
,
"demux_read"
,
p_block
->
i_buffer
,
&
i_total
);
stats_UpdateFloat
(
p_input
,
"demux_bitrate"
,
(
float
)
i_total
);
stats_UpdateFloat
(
p_input
,
"demux_bitrate"
,
(
float
)
i_total
,
NULL
);
}
/* Mark preroll blocks */
...
...
src/input/stream.c
View file @
26d5b738
...
...
@@ -1580,12 +1580,11 @@ static int AReadStream( stream_t *s, void *p_read, int i_read )
if
(
!
p_sys
->
i_list
)
{
i_read
=
p_access
->
pf_read
(
p_access
,
p_read
,
i_read
);
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_bytes"
,
i_read
);
stats_GetInteger
(
s
,
s
->
p_parent
->
p_parent
->
i_object_id
,
"read_bytes"
,
&
i_total
);
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_bytes"
,
i_read
,
&
i_total
);
stats_UpdateFloat
(
s
->
p_parent
->
p_parent
,
"input_bitrate"
,
(
float
)
i_total
);
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_packets"
,
1
);
(
float
)
i_total
,
NULL
);
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_packets"
,
1
,
NULL
);
return
i_read
;
}
...
...
@@ -1614,12 +1613,11 @@ static int AReadStream( stream_t *s, void *p_read, int i_read )
}
/* Update read bytes in input */
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_bytes"
,
i_read
);
stats_GetInteger
(
s
,
s
->
p_parent
->
p_parent
->
i_object_id
,
"read_bytes"
,
&
i_total
);
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_bytes"
,
i_read
,
&
i_total
);
stats_UpdateFloat
(
s
->
p_parent
->
p_parent
,
"input_bitrate"
,
(
float
)
i_total
);
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_packets"
,
1
);
(
float
)
i_total
,
NULL
);
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_packets"
,
1
,
NULL
);
return
i_read
;
}
...
...
@@ -1638,12 +1636,10 @@ static block_t *AReadBlock( stream_t *s, vlc_bool_t *pb_eof )
if
(
p_block
&&
p_access
->
p_libvlc
->
b_stats
)
{
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_bytes"
,
p_block
->
i_buffer
);
stats_GetInteger
(
s
,
s
->
p_parent
->
p_parent
->
i_object_id
,
"read_bytes"
,
&
i_total
);
p_block
->
i_buffer
,
&
i_total
);
stats_UpdateFloat
(
s
->
p_parent
->
p_parent
,
"input_bitrate"
,
(
float
)
i_total
);
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_packets"
,
1
);
(
float
)
i_total
,
NULL
);
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_packets"
,
1
,
NULL
);
}
return
p_block
;
}
...
...
@@ -1675,12 +1671,10 @@ static block_t *AReadBlock( stream_t *s, vlc_bool_t *pb_eof )
if
(
p_block
)
{
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_bytes"
,
p_block
->
i_buffer
);
stats_GetInteger
(
s
,
s
->
p_parent
->
p_parent
->
i_object_id
,
"read_bytes"
,
&
i_total
);
p_block
->
i_buffer
,
&
i_total
);
stats_UpdateFloat
(
s
->
p_parent
->
p_parent
,
"input_bitrate"
,
(
float
)
i_total
);
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_packets"
,
1
);
(
float
)
i_total
,
NULL
);
stats_UpdateInteger
(
s
->
p_parent
->
p_parent
,
"read_packets"
,
1
,
NULL
);
}
return
p_block
;
...
...
src/libvlc.c
View file @
26d5b738
...
...
@@ -691,6 +691,7 @@ int VLC_Init( int i_object, int i_argc, char *ppsz_argv[] )
}
libvlc
.
b_stats
=
config_GetInt
(
p_vlc
,
"stats"
);
libvlc
.
p_stats
=
NULL
;
/*
* Initialize hotkey handling
...
...
src/misc/hashtables.c
View file @
26d5b738
...
...
@@ -218,7 +218,7 @@ static uint64_t HashString( const char *psz_string, int i_id )
i_hash
^=
i_hash
>>
8
;
}
i_hash
+=
(
i_id
<<
32
);
i_hash
+=
(
(
uint64_t
)
i_id
<<
32
);
return
i_hash
;
}
src/misc/stats.c
View file @
26d5b738
...
...
@@ -36,7 +36,7 @@ static counter_t *GetCounter( stats_handler_t *p_handler, int i_object_id,
const
char
*
psz_name
);
static
int
stats_CounterUpdate
(
stats_handler_t
*
p_handler
,
counter_t
*
p_counter
,
vlc_value_t
val
);
vlc_value_t
val
,
vlc_value_t
*
);
static
stats_handler_t
*
stats_HandlerCreate
(
vlc_object_t
*
p_this
);
static
stats_handler_t
*
stats_HandlerGet
(
vlc_object_t
*
p_this
);
...
...
@@ -126,7 +126,7 @@ int __stats_Create( vlc_object_t *p_this, const char *psz_name, int i_type,
* more information on how data is aggregated, \see __stats_Create
*/
int
__stats_Update
(
vlc_object_t
*
p_this
,
const
char
*
psz_name
,
vlc_value_t
val
)
vlc_value_t
val
,
vlc_value_t
*
val_new
)
{
int
i_ret
;
counter_t
*
p_counter
;
...
...
@@ -151,7 +151,7 @@ int __stats_Update( vlc_object_t *p_this, const char *psz_name,
return
VLC_ENOOBJ
;
}
i_ret
=
stats_CounterUpdate
(
p_handler
,
p_counter
,
val
);
i_ret
=
stats_CounterUpdate
(
p_handler
,
p_counter
,
val
,
val_new
);
vlc_mutex_unlock
(
&
p_handler
->
object_lock
);
return
i_ret
;
...
...
@@ -492,7 +492,7 @@ void __stats_TimersDumpAll( vlc_object_t *p_obj )
*/
static
int
stats_CounterUpdate
(
stats_handler_t
*
p_handler
,
counter_t
*
p_counter
,
vlc_value_t
val
)
vlc_value_t
val
,
vlc_value_t
*
new_val
)
{
switch
(
p_counter
->
i_compute_type
)
{
...
...
@@ -544,6 +544,7 @@ static int stats_CounterUpdate( stats_handler_t *p_handler,
free
(
p_counter
->
pp_samples
[
0
]
->
value
.
psz_string
);
}
p_counter
->
pp_samples
[
0
]
->
value
=
val
;
*
new_val
=
p_counter
->
pp_samples
[
0
]
->
value
;
}
}
break
;
...
...
@@ -596,9 +597,14 @@ static int stats_CounterUpdate( stats_handler_t *p_handler,
switch
(
p_counter
->
i_type
)
{
case
VLC_VAR_INTEGER
:
case
VLC_VAR_FLOAT
:
p_counter
->
pp_samples
[
0
]
->
value
.
i_int
+=
val
.
i_int
;
if
(
new_val
)
new_val
->
i_int
=
p_counter
->
pp_samples
[
0
]
->
value
.
i_int
;
break
;
case
VLC_VAR_FLOAT
:
p_counter
->
pp_samples
[
0
]
->
value
.
f_float
+=
val
.
f_float
;
if
(
new_val
)
new_val
->
f_float
=
p_counter
->
pp_samples
[
0
]
->
value
.
f_float
;
default:
msg_Err
(
p_handler
,
"Trying to increment invalid variable %s"
,
p_counter
->
psz_name
);
...
...
@@ -621,9 +627,7 @@ static counter_t *GetCounter( stats_handler_t *p_handler, int i_object_id,
static
stats_handler_t
*
stats_HandlerGet
(
vlc_object_t
*
p_this
)
{
stats_handler_t
*
p_handler
=
(
stats_handler_t
*
)
vlc_object_find
(
p_this
->
p_vlc
,
VLC_OBJECT_STATS
,
FIND_ANYWHERE
);
stats_handler_t
*
p_handler
=
p_this
->
p_libvlc
->
p_stats
;
if
(
!
p_handler
)
{
p_handler
=
stats_HandlerCreate
(
p_this
);
...
...
@@ -631,8 +635,8 @@ static stats_handler_t *stats_HandlerGet( vlc_object_t *p_this )
{
return
NULL
;
}
vlc_object_yield
(
p_handler
);
}
vlc_object_yield
(
p_handler
);
return
p_handler
;
}
...
...
@@ -657,11 +661,13 @@ static stats_handler_t* stats_HandlerCreate( vlc_object_t *p_this )
return
NULL
;
}
p_handler
->
i_counters
=
0
;
p_handler
->
p_counters
=
(
hashtable_entry_t
*
)
malloc
(
5
*
sizeof
(
variable_t
)
);
p_handler
->
p_counters
=
(
hashtable_entry_t
*
)
malloc
(
4
*
sizeof
(
variable_t
)
);
/// \bug is it p_vlc or p_libvlc ?
vlc_object_attach
(
p_handler
,
p_this
->
p_vlc
);
p_this
->
p_libvlc
->
p_stats
=
p_handler
;
return
p_handler
;
}
...
...
src/network/httpd.c
View file @
26d5b738
...
...
@@ -2106,7 +2106,7 @@ static void httpd_HostThread( httpd_host_t *host )
cl
->
i_activity_date
+
cl
->
i_activity_timeout
<
mdate
())
)
)
)
{
httpd_ClientClean
(
cl
);
stats_UpdateInteger
(
host
,
"active_connections"
,
-
1
);
stats_UpdateInteger
(
host
,
"active_connections"
,
-
1
,
NULL
);
TAB_REMOVE
(
host
->
i_client
,
host
->
client
,
cl
);
free
(
cl
);
i_client
--
;
...
...
@@ -2560,8 +2560,10 @@ static void httpd_HostThread( httpd_host_t *host )
if
(
fd
>=
0
)
{
httpd_client_t
*
cl
;
stats_UpdateInteger
(
host
,
"client_connections"
,
1
);
stats_UpdateInteger
(
host
,
"active_connections"
,
1
);
stats_UpdateInteger
(
host
,
"client_connections"
,
1
,
NULL
);
stats_UpdateInteger
(
host
,
"active_connections"
,
1
,
NULL
);
cl
=
httpd_ClientNew
(
fd
,
&
sock
,
i_sock_size
,
p_tls
);
p_tls
=
NULL
;
vlc_mutex_lock
(
&
host
->
lock
);
...
...
src/stream_output/stream_output.c
View file @
26d5b738
...
...
@@ -381,14 +381,11 @@ int sout_AccessOutWrite( sout_access_out_t *p_access, block_t *p_buffer )
FIND_PARENT
);
if
(
p_input
)
{
stats_UpdateInteger
(
p_input
,
"sout_sent_packets"
,
10
);
stats_UpdateInteger
(
p_input
,
"sout_sent_packets"
,
10
,
NULL
);
stats_UpdateInteger
(
p_input
,
"sout_sent_bytes"
,
p_access
->
i_sent_bytes
);
stats_GetInteger
(
p_input
,
p_access
->
p_parent
->
p_parent
->
i_object_id
,
"sout_sent_bytes"
,
&
i_total
);
stats_UpdateFloat
(
p_input
,
"sout_send_bitrate"
,
(
float
)
i_total
);
p_access
->
i_sent_bytes
,
&
i_total
);
stats_UpdateFloat
(
p_input
,
"sout_send_bitrate"
,
(
float
)
i_total
,
NULL
);
p_access
->
i_sent_bytes
=
0
;
vlc_object_release
(
p_input
);
}
...
...
src/video_output/video_output.c
View file @
26d5b738
...
...
@@ -814,7 +814,7 @@ static void RunThread( vout_thread_t *p_vout)
}
msg_Warn
(
p_vout
,
"late picture skipped ("
I64Fd
")"
,
current_date
-
display_date
);
stats_UpdateInteger
(
p_vout
,
"lost_pictures"
,
1
);
stats_UpdateInteger
(
p_vout
,
"lost_pictures"
,
1
,
NULL
);
vlc_mutex_unlock
(
&
p_vout
->
picture_lock
);
continue
;
...
...
@@ -837,7 +837,7 @@ static void RunThread( vout_thread_t *p_vout)
p_picture
->
i_status
=
DESTROYED_PICTURE
;
p_vout
->
i_heap_size
--
;
}
stats_UpdateInteger
(
p_vout
,
"lost_pictures"
,
1
);
stats_UpdateInteger
(
p_vout
,
"lost_pictures"
,
1
,
NULL
);
msg_Warn
(
p_vout
,
"vout warning: early picture skipped "
"("
I64Fd
")"
,
display_date
-
current_date
-
p_vout
->
i_pts_delay
);
...
...
@@ -895,7 +895,7 @@ static void RunThread( vout_thread_t *p_vout)
/*
* Perform rendering
*/
stats_UpdateInteger
(
p_vout
,
"displayed_pictures"
,
1
);
stats_UpdateInteger
(
p_vout
,
"displayed_pictures"
,
1
,
NULL
);
p_directbuffer
=
vout_RenderPicture
(
p_vout
,
p_picture
,
p_subpic
);
/*
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment