]> git.sesse.net Git - vlc/blobdiff - src/control/media_descriptor.c
Fixes #1388
[vlc] / src / control / media_descriptor.c
index ed9b247b5ac8bf1cfb71fe53ae6ea3b0f4143972..6c7ecb9d4201e31348c6fe1786aad79cc0ab444e 100644 (file)
@@ -261,6 +261,8 @@ libvlc_media_descriptor_t * libvlc_media_descriptor_new_from_input_item(
         libvlc_MediaDescriptorMetaChanged, p_e );
     libvlc_event_manager_register_event_type( p_md->p_event_manager,
         libvlc_MediaDescriptorSubItemAdded, p_e );
+    libvlc_event_manager_register_event_type( p_md->p_event_manager,
+        libvlc_MediaDescriptorFreed, p_e );
     libvlc_event_manager_register_event_type( p_md->p_event_manager,
         libvlc_MediaDescriptorDurationChanged, p_e );
 
@@ -316,6 +318,16 @@ void libvlc_media_descriptor_release( libvlc_media_descriptor_t *p_md )
     uninstall_input_item_observer( p_md );
     vlc_gc_decref( p_md->p_input_item );
 
+    /* Construct the event */
+    libvlc_event_t event;
+    event.type = libvlc_MediaDescriptorFreed;
+    event.u.media_descriptor_freed.md = p_md;
+
+    /* Send the event */
+    libvlc_event_send( p_md->p_event_manager, &event );
+
+    libvlc_event_manager_release( p_md->p_event_manager );
+
     char ** all_keys = vlc_dictionary_all_keys( &p_md->tags );
     for( i = 0; all_keys[i]; i++ )
     {