]> git.sesse.net Git - vlc/blobdiff - src/playlist/item.c
playlist: Listen to duration changed events, and remove a vout->playlist dependency.
[vlc] / src / playlist / item.c
index c2bc35c68e684201445ef3f141941838df7b1bc6..1dee00b5a52847ff5db5261dad1eeb84d1aa8aa2 100644 (file)
@@ -107,10 +107,10 @@ static void input_item_subitem_added( const vlc_event_t * p_event,
 }
 
 /*****************************************************************************
- * An input item's meta has changed (Event Callback)
+ * An input item's meta or duration has changed (Event Callback)
  *****************************************************************************/
-static void input_item_meta_changed( const vlc_event_t * p_event,
-                                      void * user_data )
+static void input_item_changed( const vlc_event_t * p_event,
+                                void * user_data )
 {
     playlist_item_t * p_item = user_data;
     var_SetInteger( p_item->p_playlist,
@@ -126,6 +126,10 @@ static void install_input_item_observer( playlist_item_t * p_item )
                       vlc_InputItemSubItemAdded,
                       input_item_subitem_added,
                       p_item );
+    vlc_event_attach( &p_item->p_input->event_manager,
+                      vlc_InputItemDurationChanged,
+                      input_item_meta_changed,
+                      p_item );
     vlc_event_attach( &p_item->p_input->event_manager,
                       vlc_InputItemMetaChanged,
                       input_item_meta_changed,
@@ -138,6 +142,10 @@ static void uninstall_input_item_observer( playlist_item_t * p_item )
                       vlc_InputItemMetaChanged,
                       input_item_meta_changed,
                       p_item );
+    vlc_event_detach( &p_item->p_input->event_manager,
+                      vlc_InputItemDurationChanged,
+                      input_item_meta_changed,
+                      p_item );
     vlc_event_detach( &p_item->p_input->event_manager,
                       vlc_InputItemSubItemAdded,
                       input_item_subitem_added,