[vlc-devel] commit: One objects tree per instance rather than per process ( Rémi Denis-Courmont )
git version control
git at videolan.org
Sat Aug 30 12:55:11 CEST 2008
vlc | branch: master | Rémi Denis-Courmont <rdenis at simphalempin.com> | Sat Aug 30 13:23:35 2008 +0300| [0aee55f543790ba3230ef145707b0708e2c445f9] | committer: Rémi Denis-Courmont
One objects tree per instance rather than per process
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0aee55f543790ba3230ef145707b0708e2c445f9
---
src/libvlc.c | 2 +-
src/misc/objects.c | 14 +++++---------
2 files changed, 6 insertions(+), 10 deletions(-)
diff --git a/src/libvlc.c b/src/libvlc.c
index 96cab09..b1db6b5 100644
--- a/src/libvlc.c
+++ b/src/libvlc.c
@@ -195,7 +195,7 @@ libvlc_int_t * libvlc_InternalCreate( void )
}
/* Allocate a libvlc instance object */
- p_libvlc = vlc_custom_create( VLC_OBJECT(p_libvlc_global), sizeof (*priv),
+ p_libvlc = __vlc_custom_create( NULL, sizeof (*priv),
VLC_OBJECT_LIBVLC, "libvlc" );
if( p_libvlc != NULL )
i_instances++;
diff --git a/src/misc/objects.c b/src/misc/objects.c
index 1642984..031b26d 100644
--- a/src/misc/objects.c
+++ b/src/misc/objects.c
@@ -144,20 +144,16 @@ void *__vlc_custom_create( vlc_object_t *p_this, size_t i_size,
if( p_this == NULL )
{
- /* Only the global root object is created out of the blue */
- p_new->p_libvlc = NULL;
+ if( i_type == VLC_OBJECT_LIBVLC )
+ p_new->p_libvlc = (libvlc_int_t*)p_new;
+ else
+ p_new->p_libvlc = NULL;
- object_counter = 0; /* reset */
p_this = p_priv->next = p_priv->prev = p_new;
vlc_mutex_init( &structure_lock );
}
else
- {
- if( i_type == VLC_OBJECT_LIBVLC )
- p_new->p_libvlc = (libvlc_int_t*)p_new;
- else
- p_new->p_libvlc = p_this->p_libvlc;
- }
+ p_new->p_libvlc = p_this->p_libvlc;
vlc_spin_init( &p_priv->ref_spin );
p_priv->i_refcount = 1;
More information about the vlc-devel
mailing list