]> git.sesse.net Git - vlc/blobdiff - src/libvlc.h
Deliver log messages synchronously to subscribers
[vlc] / src / libvlc.h
index 6d9ead252dad9759e509d200584892e0b71c0a0c..edd832ba31b2d23a6036f7fbb98c73d79b1bdfdc 100644 (file)
@@ -53,7 +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)
 
 /*
  * Threads subsystem
@@ -88,8 +87,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;
@@ -224,6 +222,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;
 
@@ -233,6 +236,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)