]> git.sesse.net Git - vlc/blobdiff - src/playlist/engine.c
Use var_Inherit* instead of var_CreateGet*.
[vlc] / src / playlist / engine.c
index 8976ac409fafeca706694f08fb45732f4c57e29c..8a40f47a50023eb769d26dd0532d26977b0b2e2e 100644 (file)
@@ -121,7 +121,7 @@ playlist_t * playlist_Create( vlc_object_t *p_parent )
     /* 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;
 
@@ -129,7 +129,7 @@ playlist_t * playlist_Create( vlc_object_t *p_parent )
     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;
 
@@ -142,7 +142,7 @@ playlist_t * playlist_Create( vlc_object_t *p_parent )
         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;
@@ -282,6 +282,12 @@ void set_current_status_node( playlist_t * p_playlist,
     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 */
@@ -316,6 +322,15 @@ static void VariablesInit( playlist_t *p_playlist )
 
     /* 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 )