X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Flibvlc.h;h=0964abdf278af655ca08acb88759ef8c4832fec1;hb=312324cd44cf10c2b090e91eefe8242a62cbeb1b;hp=f23490c994d7e91b3845d9f5116628e82bd46a74;hpb=0d37c5b11c5226f990a48d4617f4b70527bb50b3;p=vlc diff --git a/src/libvlc.h b/src/libvlc.h index f23490c994..0964abdf27 100644 --- a/src/libvlc.h +++ b/src/libvlc.h @@ -45,6 +45,12 @@ void system_End ( libvlc_int_t * ); */ 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 @@ -157,7 +163,6 @@ typedef struct libvlc_global_data_t libvlc_global_data_t *vlc_global (void); -libvlc_int_t *vlc_current_object (int i_object); /** * Private LibVLC data for each object. @@ -181,6 +186,9 @@ struct vlc_object_internals_t 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; @@ -229,6 +237,9 @@ typedef struct libvlc_priv_t 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) @@ -236,6 +247,8 @@ 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) /**