X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=src%2Fplaylist%2Fengine.c;h=5b068b4083b086510056700f8ffaedeb5c426669;hb=bd6930e42cd1aecdf8e4d292ea089a9e12ae0960;hp=00480330548c04b2c2ef37e9b55f2d7bf28465b2;hpb=567a3b099a789ce689d466b3920ef4e8e14ebc37;p=vlc diff --git a/src/playlist/engine.c b/src/playlist/engine.c index 0048033054..5b068b4083 100644 --- a/src/playlist/engine.c +++ b/src/playlist/engine.c @@ -81,6 +81,7 @@ playlist_t * playlist_Create( vlc_object_t *p_parent ) libvlc_priv(p_parent->p_libvlc)->p_playlist = p_playlist; VariablesInit( p_playlist ); + vlc_mutex_init( &p->lock ); vlc_cond_init( &p->signal ); /* Initialise data structures */ @@ -100,8 +101,8 @@ playlist_t * playlist_Create( vlc_object_t *p_parent ) pl_priv(p_playlist)->b_doing_ml = false; - pl_priv(p_playlist)->b_auto_preparse = - var_CreateGetBool( p_playlist, "auto-preparse" ) ; + const bool b_auto_preparse = var_CreateGetBool( p_playlist, "auto-preparse" ); + pl_priv(p_playlist)->b_auto_preparse = b_auto_preparse; PL_LOCK; /* playlist_NodeCreate will check for it */ p_playlist->p_root_category = playlist_NodeCreate( p_playlist, NULL, NULL, @@ -155,7 +156,7 @@ playlist_t * playlist_Create( vlc_object_t *p_parent ) pl_priv(p_playlist)->b_auto_preparse = false; playlist_MLLoad( p_playlist ); - pl_priv(p_playlist)->b_auto_preparse = true; + pl_priv(p_playlist)->b_auto_preparse = b_auto_preparse; vlc_object_set_destructor( p_playlist, playlist_Destructor ); @@ -176,11 +177,12 @@ static void playlist_Destructor( vlc_object_t * p_this ) playlist_private_t *p_sys = pl_priv(p_playlist); assert( !p_sys->p_input ); - assert( !p_sys->p_input_ressource ); + assert( !p_sys->p_input_resource ); assert( !p_sys->p_preparser ); assert( !p_sys->p_fetcher ); vlc_cond_destroy( &p_sys->signal ); + vlc_mutex_destroy( &p_sys->lock ); /* Remove all remaining items */ FOREACH_ARRAY( playlist_item_t *p_del, p_playlist->all_items ) @@ -266,25 +268,18 @@ void set_current_status_node( playlist_t * p_playlist, static void VariablesInit( playlist_t *p_playlist ) { - vlc_value_t val; /* These variables control updates */ var_Create( p_playlist, "intf-change", VLC_VAR_BOOL ); - val.b_bool = true; - var_Set( p_playlist, "intf-change", val ); + var_SetBool( p_playlist, "intf-change", true ); - var_Create( p_playlist, "item-change", VLC_VAR_INTEGER ); - val.i_int = -1; - var_Set( p_playlist, "item-change", val ); + var_Create( p_playlist, "item-change", VLC_VAR_ADDRESS ); - var_Create( p_playlist, "item-deleted", VLC_VAR_INTEGER ); - val.i_int = -1; - var_Set( p_playlist, "item-deleted", val ); + var_Create( p_playlist, "playlist-item-deleted", VLC_VAR_INTEGER ); + var_SetInteger( p_playlist, "playlist-item-deleted", -1 ); - var_Create( p_playlist, "item-append", VLC_VAR_ADDRESS ); + var_Create( p_playlist, "playlist-item-append", VLC_VAR_ADDRESS ); - var_Create( p_playlist, "playlist-current", VLC_VAR_INTEGER ); - val.i_int = -1; - var_Set( p_playlist, "playlist-current", val ); + var_Create( p_playlist, "item-current", VLC_VAR_ADDRESS ); var_Create( p_playlist, "activity", VLC_VAR_INTEGER ); var_SetInteger( p_playlist, "activity", 0 );