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
4f86b958
Commit
4f86b958
authored
Jan 15, 2006
by
Clément Stenac
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix some memleaks
parent
348c8741
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
36 additions
and
0 deletions
+36
-0
include/vlc_messages.h
include/vlc_messages.h
+2
-0
include/vlc_symbols.h
include/vlc_symbols.h
+4
-0
src/libvlc.c
src/libvlc.c
+1
-0
src/misc/stats.c
src/misc/stats.c
+27
-0
src/misc/vlm.c
src/misc/vlm.c
+2
-0
No files found.
include/vlc_messages.h
View file @
4f86b958
...
...
@@ -243,6 +243,8 @@ struct stats_handler_t
counter_t
**
pp_counters
;
};
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
*
,
char
*
,
vlc_value_t
)
);
#define stats_Create( a,b,c,d ) __stats_Create( VLC_OBJECT(a), b, c, d )
...
...
include/vlc_symbols.h
View file @
4f86b958
...
...
@@ -328,6 +328,7 @@ block_t * block_FifoGet (block_fifo_t *);
mtime_t
date_Increment
(
date_t
*
,
uint32_t
);
int
playlist_Add
(
playlist_t
*
,
const
char
*
,
const
char
*
,
int
,
int
);
char
*
sout_CfgCreate
(
char
**
,
sout_cfg_t
**
,
char
*
);
void
stats_HandlerDestroy
(
stats_handler_t
*
);
osd_menu_t
*
__osd_MenuCreate
(
vlc_object_t
*
,
const
char
*
);
void
*
vlc_opendir
(
const
char
*
);
int
playlist_NodeRemoveParent
(
playlist_t
*
,
playlist_item_t
*
,
playlist_item_t
*
);
...
...
@@ -885,6 +886,7 @@ struct module_symbols_t
void
(
*
stats_ReinitInputStats_inner
)
(
input_stats_t
*
);
counter_t
*
(
*
__stats_CounterGet_inner
)
(
vlc_object_t
*
,
int
,
char
*
);
input_thread_t
*
(
*
__input_CreateThread2_inner
)
(
vlc_object_t
*
,
input_item_t
*
,
char
*
);
void
(
*
stats_HandlerDestroy_inner
)
(
stats_handler_t
*
);
};
# if defined (__PLUGIN__)
# define aout_FiltersCreatePipeline (p_symbols)->aout_FiltersCreatePipeline_inner
...
...
@@ -1313,6 +1315,7 @@ struct module_symbols_t
# define stats_ReinitInputStats (p_symbols)->stats_ReinitInputStats_inner
# define __stats_CounterGet (p_symbols)->__stats_CounterGet_inner
# define __input_CreateThread2 (p_symbols)->__input_CreateThread2_inner
# define stats_HandlerDestroy (p_symbols)->stats_HandlerDestroy_inner
# elif defined (HAVE_DYNAMIC_PLUGINS) && !defined (__BUILTIN__)
/******************************************************************
* STORE_SYMBOLS: store VLC APIs into p_symbols for plugin access.
...
...
@@ -1744,6 +1747,7 @@ struct module_symbols_t
((p_symbols)->stats_ReinitInputStats_inner) = stats_ReinitInputStats; \
((p_symbols)->__stats_CounterGet_inner) = __stats_CounterGet; \
((p_symbols)->__input_CreateThread2_inner) = __input_CreateThread2; \
((p_symbols)->stats_HandlerDestroy_inner) = stats_HandlerDestroy; \
(p_symbols)->net_ConvertIPv4_deprecated = NULL; \
# endif
/* __PLUGIN__ */
...
...
src/libvlc.c
View file @
4f86b958
...
...
@@ -961,6 +961,7 @@ int VLC_CleanUp( int i_object )
while
(
(
p_stats
=
vlc_object_find
(
p_vlc
,
VLC_OBJECT_STATS
,
FIND_CHILD
)
))
{
stats_HandlerDestroy
(
p_stats
);
vlc_object_detach
(
(
vlc_object_t
*
)
p_stats
);
vlc_object_release
(
(
vlc_object_t
*
)
p_stats
);
// TODO: Delete it
...
...
src/misc/stats.c
View file @
4f86b958
...
...
@@ -44,6 +44,33 @@ static stats_handler_t *stats_HandlerGet( vlc_object_t *p_this );
* Exported functions
*****************************************************************************/
/**
* Cleanup statistics handler stuff
* \param p_stats the handler to clean
* \return nothing
*/
void
stats_HandlerDestroy
(
stats_handler_t
*
p_stats
)
{
int
i
;
for
(
i
=
p_stats
->
i_counters
-
1
;
i
>=
0
;
i
--
)
{
int
j
;
counter
*
p_counter
=
p_stats
->
pp_counters
[
i
];
for
(
j
=
p_counter
->
i_samples
-
1
;
j
>=
0
;
j
--
)
{
counter_sample_t
*
p_sample
=
p_counter
->
pp_samples
[
j
];
if
(
p_sample
->
val
.
psz_string
)
free
(
p_sample
->
val
.
psz_string
);
REMOVE_ELEM
(
p_counter
->
pp_samples
,
p_counter
->
i_samples
,
j
);
free
(
p_sample
);
}
free
(
p_counter
->
psz_name
);
REMOVE_ELEM
(
p_stats
->
pp_counters
,
p_stats
->
i_counter
,
i
);
free
(
p_counter
);
}
}
/**
* Create a statistics counter
* \param p_this the object for which to create the counter
...
...
src/misc/vlm.c
View file @
4f86b958
...
...
@@ -1106,6 +1106,7 @@ int vlm_MediaSetup( vlm_t *vlm, vlm_media_t *media, const char *psz_cmd,
vlc_object_destroy
(
p_input
);
}
free
(
psz_output
);
free
(
psz_header
);
if
(
media
->
psz_mux
)
{
...
...
@@ -1208,6 +1209,7 @@ int vlm_MediaControl( vlm_t *vlm, vlm_media_t *media, const char *psz_id,
vlc_input_item_Clean
(
&
p_instance
->
item
);
if
(
p_instance
->
psz_name
)
free
(
p_instance
->
psz_name
);
}
free
(
psz_header
);
return
VLC_SUCCESS
;
}
...
...
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