Browse Source

VLCMedia: do not enforce deprecated and discouraged synchronous parsing if media was not parsed yet on metadata request

(cherry picked from commit 79e22d2d2ca7a42e17593bcdec78424a62712561)
Felix Paul Kühne 9 years ago
parent
commit
c14e40ae93
2 changed files with 6 additions and 8 deletions
  1. 2 0
      NEWS
  2. 4 8
      Sources/VLCMedia.m

+ 2 - 0
NEWS

@@ -46,6 +46,8 @@ New APIs:
                      parseWithOptions:Timeout:
                      parsedStatus
   - added enums: VLCMediaType, VLCMediaParsingOptions, VLCMediaParsedStatus
+  - changed behavior: media will no longer be parsed automatically if meta
+      data is requested prior to concluded parsing
 
 - VLCTime
   - added selectors: isEqual:

+ 4 - 8
Sources/VLCMedia.m

@@ -345,10 +345,10 @@ static void HandleMediaParsedChanged(const libvlc_event_t * event, void * self)
 
 - (VLCMediaParsedStatus)parsedStatus
 {
-   if ( !p_md )
-      return VLCMediaParsedStatusFailed;
-   libvlc_media_parsed_status_t status = libvlc_media_get_parsed_status(p_md);
-   return (VLCMediaParsedStatus)status;
+    if (!p_md)
+        return VLCMediaParsedStatusFailed;
+    libvlc_media_parsed_status_t status = libvlc_media_get_parsed_status(p_md);
+    return (VLCMediaParsedStatus)status;
 }
 
 - (void)parse
@@ -739,10 +739,6 @@ NSString *const VLCMediaTracksInformationTextEncoding = @"encoding"; // NSString
     if (!p_md)
         return nil;
 
-    VLCMediaParsedStatus parsedStatus = [self parsedStatus];
-    if (parsedStatus == VLCMediaParsedStatusSkipped || parsedStatus == VLCMediaParsedStatusInit)
-        [self synchronousParse];
-
     char *returnValue = libvlc_media_get_meta(p_md, [VLCMedia stringToMetaType:key]);
 
     if (!returnValue)