static bool b_daemon = false;
+/*****************************************************************************
+ * vlc_gc_*.
+ *****************************************************************************/
+void __vlc_gc_incref( gc_object_t * p_gc )
+{
+ assert( p_gc->i_gc_refcount > 0 );
+
+ /* FIXME: atomic version needed! */
+ p_gc->i_gc_refcount ++;
+}
+
+void __vlc_gc_decref( gc_object_t *p_gc )
+{
+ assert( p_gc );
+ assert( p_gc->i_gc_refcount > 0 );
+
+ /* FIXME: atomic version needed! */
+ p_gc->i_gc_refcount -- ;
+
+ if( p_gc->i_gc_refcount == 0 )
+ {
+ p_gc->pf_destructor( p_gc );
+ /* Do not use the p_gc pointer from now on ! */
+ }
+}
+
+void
+__vlc_gc_init( gc_object_t * p_gc, void (*pf_destructor)( gc_object_t * ),
+ void * arg)
+{
+ p_gc->i_gc_refcount = 1;
+ p_gc->pf_destructor = pf_destructor;
+ p_gc->p_destructor_arg = arg;
+}
+
/*****************************************************************************
* Local prototypes
*****************************************************************************/
return VLC_EGENERIC;
}
-#ifdef __APPLE__
- /* vlc_thread_set_priority needs to query the config,
- * so this is the earliest moment where we can set this */
- vlc_thread_set_priority( p_libvlc, VLC_THREAD_PRIORITY_LOW );
-#endif
-
/* Check for short help option */
if( config_GetInt( p_libvlc, "help" ) > 0 )
{
}
free( psz_modules );
-#ifdef ENABLE_SOUT
+#ifdef ENABLE_VLM
/* Initialize VLM if vlm-conf is specified */
psz_parser = config_GetPsz( p_libvlc, "vlm-conf" );
if( psz_parser && *psz_parser )
{
playlist_t *p_playlist = pl_Yield( p_libvlc );
playlist_AddExt( p_playlist, val.psz_string, NULL, PLAYLIST_INSERT, 0,
- -1, NULL, 0, true, false );
+ -1, NULL, 0, true, pl_Unlocked );
pl_Release( p_libvlc );
}
free( val.psz_string );
vlc_object_release( p_intf ); /* for vlc_object_find() */
}
-#ifdef ENABLE_SOUT
+#ifdef ENABLE_VLM
/* Destroy VLM if created in libvlc_InternalInit */
if( priv->p_vlm )
{
static const char psz_path[] = LOCALEDIR;
#else
char psz_path[1024];
- if (snprintf (psz_path, sizeof (psz_path), "%s/%s",
- vlc_global()->psz_vlcpath, "locale")
+ if (snprintf (psz_path, sizeof (psz_path), "%s" DIR_SEP "%s",
+ config_GetDataDir(), "locale")
>= (int)sizeof (psz_path))
return -1;
playlist_t *p_playlist = pl_Yield( p_vlc );
playlist_AddExt( p_playlist, ppsz_argv[i_opt], NULL, PLAYLIST_INSERT,
0, -1, ( i_options ? &ppsz_argv[i_opt + 1] : NULL ),
- i_options, true, false );
+ i_options, true, pl_Unlocked );
pl_Release( p_vlc );
}