*/
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.
vlm_t *p_vlm; ///< the VLM singleton (or NULL)
vlc_object_t *p_interaction; ///< interface interaction object
httpd_t *p_httpd; ///< HTTP daemon (src/network/httpd.c)
+
+ /* Private playlist data (FIXME - playlist_t is too public...) */
+ sout_instance_t *p_sout; ///< kept sout instance (for playlist)
} libvlc_priv_t;
static inline libvlc_priv_t *libvlc_priv (libvlc_int_t *libvlc)
return (libvlc_priv_t *)(libvlc + 1);
}
+void playlist_ServicesDiscoveryKillAll( playlist_t *p_playlist );
+
#define libvlc_stats( o ) (libvlc_priv((VLC_OBJECT(o))->p_libvlc)->b_stats)
/**
#if defined (WIN32)
# include <dirent.h>
void *vlc_wopendir (const wchar_t *);
+/* void *vlc_wclosedir (void *); in vlc's exported symbols */
struct _wdirent *vlc_wreaddir (void *);
-int vlc_wclosedir (void *);
void vlc_rewinddir (void *);
-# define opendir Use_utf8_opendir_or_vlc_wopendir_instead!
-# define readdir Use_utf8_readdir_or_vlc_wreaddir_instead!
-# define closedir vlc_wclosedir
# define _wopendir vlc_wopendir
# define _wreaddir vlc_wreaddir
# define _wclosedir vlc_wclosedir