/* Create the root node */
PL_LOCK;
p_playlist->p_root = playlist_NodeCreate( p_playlist, NULL, NULL,
- 0, NULL );
+ PLAYLIST_END, 0, NULL );
PL_UNLOCK;
if( !p_playlist->p_root ) return NULL;
PL_LOCK;
p_playlist->p_playing = playlist_NodeCreate(
p_playlist, _( "Playlist" ), p_playlist->p_root,
- PLAYLIST_RO_FLAG, NULL );
+ PLAYLIST_END, PLAYLIST_RO_FLAG, NULL );
PL_UNLOCK;
PL_LOCK;
p_playlist->p_media_library = playlist_NodeCreate(
p_playlist, _( "Media Library" ), p_playlist->p_root,
- PLAYLIST_RO_FLAG, NULL );
+ PLAYLIST_END, PLAYLIST_RO_FLAG, NULL );
PL_UNLOCK;
if(!p_playlist->p_media_library ) return NULL;
pl_priv(p_playlist)->status.p_node = p_node;
}
+static input_thread_t *playlist_FindInput( vlc_object_t *object )
+{
+ assert( object == VLC_OBJECT(pl_Get(object)) );
+ return playlist_CurrentInput( (playlist_t *)object );
+}
+
static void VariablesInit( playlist_t *p_playlist )
{
/* These variables control updates */
/* */
var_Create( p_playlist, "album-art", VLC_VAR_INTEGER | VLC_VAR_DOINHERIT );
+
+ /* Variables to preserve video output parameters */
+ var_Create( p_playlist, "fullscreen", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
+ var_Create( p_playlist, "video-on-top", VLC_VAR_BOOL | VLC_VAR_DOINHERIT );
+
+ /* Audio output parameters */
+ var_Create( p_playlist, "volume-muted", VLC_VAR_BOOL );
+ var_Create( p_playlist, "saved-volume", VLC_VAR_INTEGER );
+ var_Create( p_playlist, "volume-change", VLC_VAR_VOID );
+ /* FIXME: horrible hack for audio output interface code */
+ var_Create( p_playlist, "find-input-callback", VLC_VAR_ADDRESS );
+ var_SetAddress( p_playlist, "find-input-callback", playlist_FindInput );
}
playlist_item_t * playlist_CurrentPlayingItem( playlist_t * p_playlist )