Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
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
Commits
4e2f8a6f
Commit
4e2f8a6f
authored
Sep 24, 2009
by
Rémi Denis-Courmont
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Remove useless object linked-list
This was mostly useful for vlc_object_get() which is gone.
parent
85b7e196
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
94 additions
and
152 deletions
+94
-152
src/libvlc.h
src/libvlc.h
+0
-1
src/misc/objects.c
src/misc/objects.c
+94
-151
No files found.
src/libvlc.h
View file @
4e2f8a6f
...
@@ -185,7 +185,6 @@ typedef struct vlc_object_internals_t
...
@@ -185,7 +185,6 @@ typedef struct vlc_object_internals_t
vlc_destructor_t
pf_destructor
;
vlc_destructor_t
pf_destructor
;
/* Objects tree structure */
/* Objects tree structure */
vlc_object_t
*
prev
,
*
next
;
vlc_object_t
**
pp_children
;
vlc_object_t
**
pp_children
;
int
i_children
;
int
i_children
;
}
vlc_object_internals_t
;
}
vlc_object_internals_t
;
...
...
src/misc/objects.c
View file @
4e2f8a6f
...
@@ -147,7 +147,7 @@ void *__vlc_custom_create( vlc_object_t *p_this, size_t i_size,
...
@@ -147,7 +147,7 @@ void *__vlc_custom_create( vlc_object_t *p_this, size_t i_size,
libvlc_int_t
*
self
=
(
libvlc_int_t
*
)
p_new
;
libvlc_int_t
*
self
=
(
libvlc_int_t
*
)
p_new
;
p_new
->
p_libvlc
=
self
;
p_new
->
p_libvlc
=
self
;
vlc_mutex_init
(
&
(
libvlc_priv
(
self
)
->
structure_lock
));
vlc_mutex_init
(
&
(
libvlc_priv
(
self
)
->
structure_lock
));
p_this
=
p_
priv
->
next
=
p_priv
->
prev
=
p_
new
;
p_this
=
p_new
;
}
}
else
else
p_new
->
p_libvlc
=
p_this
->
p_libvlc
;
p_new
->
p_libvlc
=
p_this
->
p_libvlc
;
...
@@ -165,18 +165,9 @@ void *__vlc_custom_create( vlc_object_t *p_this, size_t i_size,
...
@@ -165,18 +165,9 @@ void *__vlc_custom_create( vlc_object_t *p_this, size_t i_size,
vlc_cond_init
(
&
p_priv
->
var_wait
);
vlc_cond_init
(
&
p_priv
->
var_wait
);
p_priv
->
pipes
[
0
]
=
p_priv
->
pipes
[
1
]
=
-
1
;
p_priv
->
pipes
[
0
]
=
p_priv
->
pipes
[
1
]
=
-
1
;
p_priv
->
next
=
p_this
;
libvlc_lock
(
p_new
->
p_libvlc
);
p_priv
->
prev
=
vlc_internals
(
p_this
)
->
prev
;
vlc_internals
(
p_this
)
->
prev
=
p_new
;
vlc_internals
(
p_priv
->
prev
)
->
next
=
p_new
;
libvlc_unlock
(
p_new
->
p_libvlc
);
if
(
p_new
==
VLC_OBJECT
(
p_new
->
p_libvlc
))
if
(
p_new
==
VLC_OBJECT
(
p_new
->
p_libvlc
))
{
/* TODO: should be in src/libvlc.c */
{
/* TODO: should be in src/libvlc.c */
int
canc
=
vlc_savecancel
();
int
canc
=
vlc_savecancel
();
var_Create
(
p_new
,
"list"
,
VLC_VAR_STRING
|
VLC_VAR_ISCOMMAND
);
var_AddCallback
(
p_new
,
"list"
,
DumpCommand
,
NULL
);
var_Create
(
p_new
,
"tree"
,
VLC_VAR_STRING
|
VLC_VAR_ISCOMMAND
);
var_Create
(
p_new
,
"tree"
,
VLC_VAR_STRING
|
VLC_VAR_ISCOMMAND
);
var_AddCallback
(
p_new
,
"tree"
,
DumpCommand
,
NULL
);
var_AddCallback
(
p_new
,
"tree"
,
DumpCommand
,
NULL
);
var_Create
(
p_new
,
"vars"
,
VLC_VAR_STRING
|
VLC_VAR_ISCOMMAND
);
var_Create
(
p_new
,
"vars"
,
VLC_VAR_STRING
|
VLC_VAR_ISCOMMAND
);
...
@@ -609,36 +600,7 @@ void __vlc_object_release( vlc_object_t *p_this )
...
@@ -609,36 +600,7 @@ void __vlc_object_release( vlc_object_t *p_this )
if
(
b_should_destroy
)
if
(
b_should_destroy
)
{
{
parent
=
p_this
->
p_parent
;
if
(
p_this
->
p_parent
)
#ifndef NDEBUG
if
(
VLC_OBJECT
(
p_this
->
p_libvlc
)
==
p_this
)
{
/* Test for leaks */
vlc_object_t
*
leaked
=
internals
->
next
;
while
(
leaked
!=
p_this
)
{
/* We are leaking this object */
fprintf
(
stderr
,
"ERROR: leaking object (%p, type:%s)
\n
"
,
leaked
,
leaked
->
psz_object_type
);
/* Dump object to ease debugging */
vlc_object_dump
(
leaked
);
fflush
(
stderr
);
leaked
=
vlc_internals
(
leaked
)
->
next
;
}
if
(
internals
->
next
!=
p_this
)
/* Dump libvlc object to ease debugging */
vlc_object_dump
(
p_this
);
}
#endif
/* Remove the object from object list
* so that it cannot be encountered by vlc_object_get() */
vlc_internals
(
internals
->
next
)
->
prev
=
internals
->
prev
;
vlc_internals
(
internals
->
prev
)
->
next
=
internals
->
next
;
if
(
parent
)
/* Detach from parent to protect against FIND_CHILDREN */
/* Detach from parent to protect against FIND_CHILDREN */
vlc_object_detach_unlocked
(
p_this
);
vlc_object_detach_unlocked
(
p_this
);
...
@@ -823,24 +785,7 @@ vlc_list_t *__vlc_list_children( vlc_object_t *obj )
...
@@ -823,24 +785,7 @@ vlc_list_t *__vlc_list_children( vlc_object_t *obj )
static
int
DumpCommand
(
vlc_object_t
*
p_this
,
char
const
*
psz_cmd
,
static
int
DumpCommand
(
vlc_object_t
*
p_this
,
char
const
*
psz_cmd
,
vlc_value_t
oldval
,
vlc_value_t
newval
,
void
*
p_data
)
vlc_value_t
oldval
,
vlc_value_t
newval
,
void
*
p_data
)
{
{
libvlc_int_t
*
p_libvlc
=
p_this
->
p_libvlc
;
(
void
)
oldval
;
(
void
)
p_data
;
(
void
)
oldval
;
(
void
)
p_data
;
if
(
*
psz_cmd
==
'l'
)
{
vlc_object_t
*
cur
=
VLC_OBJECT
(
p_libvlc
);
libvlc_lock
(
p_this
->
p_libvlc
);
do
{
PrintObject
(
cur
,
""
);
cur
=
vlc_internals
(
cur
)
->
next
;
}
while
(
cur
!=
VLC_OBJECT
(
p_libvlc
));
libvlc_unlock
(
p_this
->
p_libvlc
);
}
else
{
vlc_object_t
*
p_object
=
NULL
;
vlc_object_t
*
p_object
=
NULL
;
if
(
*
newval
.
psz_string
)
if
(
*
newval
.
psz_string
)
...
@@ -879,8 +824,8 @@ static int DumpCommand( vlc_object_t *p_this, char const *psz_cmd,
...
@@ -879,8 +824,8 @@ static int DumpCommand( vlc_object_t *p_this, char const *psz_cmd,
for
(
i
=
0
;
i
<
vlc_internals
(
p_object
)
->
i_vars
;
i
++
)
for
(
i
=
0
;
i
<
vlc_internals
(
p_object
)
->
i_vars
;
i
++
)
{
{
variable_t
*
p_var
=
vlc_internals
(
p_object
)
->
p_vars
+
i
;
variable_t
*
p_var
=
vlc_internals
(
p_object
)
->
p_vars
+
i
;
const
char
*
psz_type
=
"unknown"
;
const
char
*
psz_type
=
"unknown"
;
switch
(
p_var
->
i_type
&
VLC_VAR_TYPE
)
switch
(
p_var
->
i_type
&
VLC_VAR_TYPE
)
{
{
#define MYCASE( type, nice ) \
#define MYCASE( type, nice ) \
...
@@ -951,8 +896,6 @@ static int DumpCommand( vlc_object_t *p_this, char const *psz_cmd,
...
@@ -951,8 +896,6 @@ static int DumpCommand( vlc_object_t *p_this, char const *psz_cmd,
{
{
vlc_object_release
(
p_object
);
vlc_object_release
(
p_object
);
}
}
}
return
VLC_SUCCESS
;
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