]> git.sesse.net Git - vlc/blobdiff - src/libvlc.h
Fix double free after stream_out creation failed
[vlc] / src / libvlc.h
index a5132526c3547f8ff5b7056fad3f339e2674dea3..ced230e343f1e32d0b1ece4a382119a0bb07fd81 100644 (file)
@@ -35,8 +35,8 @@ typedef struct action
 } action_t;
 extern const struct action libvlc_actions[];
 extern const size_t libvlc_actions_count;
-extern int vlc_key_to_action (vlc_object_t *, const char *,
-                              vlc_value_t, vlc_value_t, void *);
+extern int vlc_InitActions (libvlc_int_t *);
+extern void vlc_DeinitActions (libvlc_int_t *);
 
 /*
  * OS-specific initialization
@@ -79,6 +79,7 @@ void vlc_assert_locked (vlc_mutex_t *);
  */
 extern uint32_t cpu_flags;
 uint32_t CPUCapabilities( void );
+bool vlc_CPU_CheckPluginDir (const char *name);
 
 /*
  * Message/logging stuff
@@ -151,11 +152,6 @@ extern int vlc_object_set_name(vlc_object_t *, const char *);
  */
 extern char *psz_vlcpath;
 
-/* Return a NULL terminated array with the names of the modules that have a
- * certain capability.
- * Free after uses both the string and the table. */
-char **module_GetModulesNamesForCapability (const char * psz_capability,
-                                            char ***psz_longname);
 module_t *module_find_by_shortcut (const char *psz_shortcut);
 
 /**
@@ -167,10 +163,9 @@ typedef struct vlc_object_internals_t
     char           *psz_name; /* given name */
 
     /* Object variables */
-    variable_t *    p_vars;
+    void           *var_root;
     vlc_mutex_t     var_lock;
     vlc_cond_t      var_wait;
-    int             i_vars;
 
     /* Thread properties, if any */
     vlc_thread_t    thread_id;
@@ -185,7 +180,6 @@ typedef struct vlc_object_internals_t
     vlc_destructor_t pf_destructor;
 
     /* Objects tree structure */
-    vlc_object_t    *prev, *next;
     vlc_object_t   **pp_children;
     int              i_children;
 } vlc_object_internals_t;
@@ -206,22 +200,21 @@ typedef struct sap_handler_t sap_handler_t;
 typedef struct libvlc_priv_t
 {
     libvlc_int_t       public_data;
-    vlc_cond_t         exiting; ///< signaled when VLC wants to exit
 
     int                i_last_input_id ; ///< Last id of input item
 
     /* Messages */
     msg_bank_t         msg_bank;    ///< The message bank
     int                i_verbose;   ///< info messages
-    bool               b_color;     ///< color messages?
     vlc_dictionary_t   msg_enabled_objects; ///< Enabled objects
+    bool               b_color;     ///< color messages?
     bool               msg_all_objects_enabled; ///< Should we print all objects?
 
     /* Timer stats */
+    bool               b_stats;     ///< Whether to collect stats
     vlc_mutex_t        timer_lock;  ///< Lock to protect timers
     counter_t        **pp_timers;   ///< Array of all timers
     int                i_timers;    ///< Number of timers
-    bool               b_stats;     ///< Whether to collect stats
 
     /* Singleton objects */
     module_t          *p_memcpy_module;  ///< Fast memcpy plugin used