[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