[vlc-devel] [PATCH 9/9] libvlc: media: cancel preparsing when releasing a media

Thomas Guillem thomas at gllm.fr
Wed Jun 1 18:46:27 CEST 2016


---
 lib/media.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/lib/media.c b/lib/media.c
index 2e03e06..25b880e 100644
--- a/lib/media.c
+++ b/lib/media.c
@@ -528,6 +528,10 @@ void libvlc_media_release( libvlc_media_t *p_md )
 
     uninstall_input_item_observer( p_md );
 
+    /* Cancel asynchronous parsing (if any) */
+    if( p_md->p_input_item )
+        libvlc_MetadataCancel( p_md->p_libvlc_instance->p_libvlc_int, p_md );
+
     if( p_md->p_subitems )
         libvlc_media_list_release( p_md->p_subitems );
 
@@ -764,7 +768,7 @@ static int media_parse(libvlc_media_t *media, bool b_async,
             parse_scope |= META_REQUEST_OPTION_SCOPE_NETWORK;
         if (parse_flag & libvlc_media_do_interact)
             parse_scope |= META_REQUEST_OPTION_DO_INTERACT;
-        ret = libvlc_MetadataRequest(libvlc, item, parse_scope, NULL);
+        ret = libvlc_MetadataRequest(libvlc, item, parse_scope, media);
         if (ret != VLC_SUCCESS)
             return ret;
     }
-- 
2.8.1



More information about the vlc-devel mailing list