]> git.sesse.net Git - vlc/blobdiff - src/libvlc.h
vlc_clone(): abide by --rt-priority and --rt-offset
[vlc] / src / libvlc.h
index 94c21304d2c633dc4cea27cc08d0277de549b5c9..15a8d2150faa06a079e59840451b5d8df819be28 100644 (file)
@@ -53,8 +53,6 @@ void system_End       ( libvlc_int_t * );
 #define vlc_object_signal_unlocked( obj )
 
 vlc_list_t *vlc_list_find( vlc_object_t *, int, int );
-#define VLC_OBJECT_INTF        (-4)
-#define VLC_OBJECT_PACKETIZER  (-13)
 
 /*
  * Threads subsystem
@@ -64,6 +62,8 @@ vlc_list_t *vlc_list_find( vlc_object_t *, int, int );
 void vlc_thread_cancel (vlc_object_t *);
 int vlc_object_waitpipe (vlc_object_t *obj);
 
+void vlc_threads_setup (libvlc_int_t *);
+
 void vlc_trace (const char *fn, const char *file, unsigned line);
 #define vlc_backtrace() vlc_trace(__func__, __FILE__, __LINE__)
 
@@ -89,8 +89,7 @@ uint32_t CPUCapabilities( void );
 typedef struct msg_bank_t
 {
     /** Message queue lock */
-    vlc_mutex_t lock;
-    vlc_cond_t  wait;
+    vlc_rwlock_t lock;
 
     /* Subscribers */
     int i_sub;
@@ -225,6 +224,11 @@ typedef struct libvlc_priv_t
 #ifdef ENABLE_SOUT
     sap_handler_t     *p_sap; ///< SAP SDP advertiser
 #endif
+
+    /* Interfaces */
+    struct intf_thread_t *p_intf; ///< Interfaces linked-list
+
+    /* Objects tree */
     vlc_mutex_t        structure_lock;
 } libvlc_priv_t;
 
@@ -234,6 +238,7 @@ static inline libvlc_priv_t *libvlc_priv (libvlc_int_t *libvlc)
 }
 
 void playlist_ServicesDiscoveryKillAll( playlist_t *p_playlist );
+void intf_DestroyAll( libvlc_int_t * );
 
 #define libvlc_stats( o ) (libvlc_priv((VLC_OBJECT(o))->p_libvlc)->b_stats)