From 36b1c82b3e35347880b9b5a091be8f29859a75d5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= Date: Fri, 19 Dec 2014 22:14:55 +0100 Subject: [PATCH 06/14] libvlc/media: re-parse if flags changed --- lib/media.c | 6 ++++++ lib/media_internal.h | 1 + 2 files changed, 7 insertions(+) diff --git a/lib/media.c b/lib/media.c index 20266ae..fda7ba9 100644 --- a/lib/media.c +++ b/lib/media.c @@ -719,6 +719,12 @@ static int media_parse(libvlc_media_t *media, bool b_async, vlc_mutex_lock(&media->parsed_lock); needed = !media->has_asked_preparse; media->has_asked_preparse = true; + if (!needed) + { + if (media->parse_flag != parse_flag) + needed = true; + } + media->parse_flag = parse_flag; vlc_mutex_unlock(&media->parsed_lock); if (needed) diff --git a/lib/media_internal.h b/lib/media_internal.h index 35f06a4..d28297e 100644 --- a/lib/media_internal.h +++ b/lib/media_internal.h @@ -47,6 +47,7 @@ struct libvlc_media_t bool is_parsed; bool has_asked_preparse; + libvlc_media_parse_flag_t parse_flag; }; /* Media Descriptor */ -- 2.7.0