#include "modules/modules.h"
#include "config/configuration.h"
-#include "interface/interface.h"
#include <errno.h> /* ENOMEM */
#include <stdio.h> /* sprintf() */
priv = libvlc_priv (p_libvlc);
priv->p_playlist = NULL;
- priv->p_interaction = NULL;
+ priv->p_dialog_provider = NULL;
priv->p_vlm = NULL;
p_libvlc->psz_object_name = strdup( "libvlc" );
var_AddCallback( p_libvlc, "key-pressed", vlc_key_to_action,
p_libvlc->p_hotkeys );
- /* Initialize interaction */
- priv->p_interaction = interaction_Init( p_libvlc );
-
/* Initialize playlist and get commandline files */
p_playlist = playlist_Create( VLC_OBJECT(p_libvlc) );
if( !p_playlist )
*/
var_Create( p_libvlc, "drawable-xid", VLC_VAR_INTEGER );
var_Create( p_libvlc, "drawable-hwnd", VLC_VAR_ADDRESS );
-#ifdef __APPLE__
- var_Create( p_libvlc, "drawable", VLC_VAR_INTEGER );
-#endif
+ var_Create( p_libvlc, "drawable-agl", VLC_VAR_INTEGER );
+ var_Create( p_libvlc, "drawable-gl", VLC_VAR_INTEGER );
+
var_Create( p_libvlc, "drawable-view-top", VLC_VAR_INTEGER );
var_Create( p_libvlc, "drawable-view-left", VLC_VAR_INTEGER );
var_Create( p_libvlc, "drawable-view-bottom", VLC_VAR_INTEGER );
vlc_object_release( p_playlist );
- /* Free interaction */
- msg_Dbg( p_libvlc, "removing interaction" );
- interaction_Destroy( priv->p_interaction );
-
stats_TimersDumpAll( p_libvlc );
stats_TimersCleanAll( p_libvlc );
vlc_mutex_destroy( &priv->config_lock );
vlc_mutex_destroy( &priv->timer_lock );
+#ifndef NDEBUG /* Hack to dump leaked objects tree */
+ if( vlc_internals( p_libvlc )->i_refcount > 1 )
+ while( vlc_internals( p_libvlc )->i_refcount > 0 )
+ vlc_object_release( p_libvlc );
+#endif
+
assert( vlc_internals( p_libvlc )->i_refcount == 1 );
vlc_object_release( p_libvlc );
}
(void)p_vlc;
#endif /* HAVE_HAL */
}
+
+#include <vlc_avcodec.h>
+
+void vlc_avcodec_mutex (bool acquire)
+{
+ static vlc_mutex_t lock = VLC_STATIC_MUTEX;
+
+ if (acquire)
+ vlc_mutex_lock (&lock);
+ else
+ vlc_mutex_unlock (&lock);
+}