]> git.sesse.net Git - vlc/blobdiff - src/libvlc.h
Do not leak the IPC helper - might fix #1598
[vlc] / src / libvlc.h
index 353ad7da4626453b45fc3a686686c07fbf8eb91b..0c7c295846dae957ed6b845bc2052e32c47d6d63 100644 (file)
@@ -118,7 +118,6 @@ void msg_StackDestroy (void *);
  * Unicode stuff
  */
 char *vlc_fix_readdir (const char *);
-bool vlc_current_charset (char **);
 
 /*
  * LibVLC objects stuff
@@ -139,8 +138,10 @@ bool vlc_current_charset (char **);
  * @return the created object, or NULL.
  */
 extern void *
-vlc_custom_create (vlc_object_t *p_this, size_t i_size, int i_type,
-                   const char *psz_type);
+__vlc_custom_create (vlc_object_t *p_this, size_t i_size, int i_type,
+                     const char *psz_type);
+#define vlc_custom_create(o, s, t, n) \
+        __vlc_custom_create(VLC_OBJECT(o), s, t, n)
 
 /**
  * libvlc_global_data_t (global variable)
@@ -244,6 +245,7 @@ typedef struct libvlc_priv_t
     void              *p_stats_computer;  ///< Input thread computing stats
                                           /// (needs cleanup)
 
+    /* Singleton objects */
     module_t          *p_memcpy_module;  ///< Fast memcpy plugin used
     playlist_t        *p_playlist; //< the playlist singleton
     vlm_t             *p_vlm;  ///< the VLM singleton (or NULL)
@@ -252,6 +254,15 @@ typedef struct libvlc_priv_t
 
     /* Private playlist data (FIXME - playlist_t is too public...) */
     sout_instance_t   *p_sout; ///< kept sout instance (for playlist)
+
+    /* Thread support */
+    unsigned           threads_count;
+    vlc_mutex_t        threads_lock;
+    vlc_cond_t         threads_wait;
+
+#ifdef WIN32
+    vlc_object_t       *ipc_helper;
+#endif
 } libvlc_priv_t;
 
 static inline libvlc_priv_t *libvlc_priv (libvlc_int_t *libvlc)