Commit 0aee55f5 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

One objects tree per instance rather than per process

parent c348861e
......@@ -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++;
......
......@@ -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 */
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;
}
vlc_spin_init( &p_priv->ref_spin );
p_priv->i_refcount = 1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment