*/
int vlc_threads_init( void );
void vlc_threads_end( void );
+vlc_object_t *vlc_threadobj (void);
+#ifdef LIBVLC_REFCHECK
+void vlc_refcheck (vlc_object_t *obj);
+#else
+# define vlc_refcheck( obj ) (void)0
+#endif
/*
* CPU capabilities
/* Object structure data */
int i_counter; ///< object counter
- int i_objects; ///< Attached objects count
- vlc_object_t ** pp_objects; ///< Array of all objects
module_bank_t * p_module_bank; ///< The module bank
libvlc_global_data_t *vlc_global (void);
-libvlc_int_t *vlc_current_object (int i_object);
/**
* Private LibVLC data for each object.
vlc_spinlock_t ref_spin;
unsigned i_refcount;
vlc_destructor_t pf_destructor;
+#ifndef LIBVLC_REFCHECK
+ vlc_thread_t creator_id;
+#endif
+ /* Objects tree structure */
+ vlc_object_t *prev, *next;
vlc_object_t **pp_children;
int i_children;
};
#define ZOOM_ORIGINAL_KEY_TEXT N_("1:1 Original")
#define ZOOM_DOUBLE_KEY_TEXT N_("2:1 Double")
-static inline vlc_object_internals_t *vlc_internals( vlc_object_t *obj )
-{
- return ((vlc_object_internals_t *)obj) - 1;
-}
+#define vlc_internals( obj ) (((vlc_object_internals_t*)(VLC_OBJECT(obj)))-1)
/**
* Private LibVLC instance data.