Commit 4a192254 authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

macosx/framework: Only fetch meta when needed.

parent c6f9a67d
......@@ -113,7 +113,7 @@ typedef enum VLCMediaState
VLCTime * length; //< Duration of the media
NSMutableDictionary * metaDictionary; //< Meta data storage
id delegate; //< Delegate object
BOOL preparsed; //< Value used to determine of the file has been preparsed
BOOL artFetched; //< Value used to determine of the artwork has been preparsed
VLCMediaState state;
}
......
......@@ -430,6 +430,8 @@ static void HandleMediaSubItemAdded(const libvlc_event_t * event, void * self)
libvlc_exception_t ex;
libvlc_exception_init( &ex );
artFetched = NO;
char * p_url = libvlc_media_descriptor_get_mrl( p_md, &ex );
catch_exception( &ex );
......@@ -463,9 +465,6 @@ static void HandleMediaSubItemAdded(const libvlc_event_t * event, void * self)
/* Force VLCMetaInformationTitle, that will trigger preparsing
* And all the other meta will be added through the libvlc event system */
[self fetchMetaInformationFromLibVLCWithType: VLCMetaInformationTitle];
/* Force VLCMetaInformationArtworkURL, that will trigger artwork fetching */
[self fetchMetaInformationFromLibVLCWithType: VLCMetaInformationArtworkURL];
}
- (void)fetchMetaInformationFromLibVLCWithType:(NSString *)metaType
......@@ -545,6 +544,17 @@ static void HandleMediaSubItemAdded(const libvlc_event_t * event, void * self)
{
[self setState: [newStateAsNumber intValue]];
}
- (id)valueForKeyPath:(NSString *)keyPath
{
if( ![metaDictionary objectForKey:@"artwork"] && [keyPath isEqualToString:@"metaDictionary.artwork"])
{
artFetched = YES;
/* Force the retrieval of the artwork now that someone asked for it */
[self fetchMetaInformationFromLibVLCWithType: VLCMetaInformationArtworkURL];
}
return [super valueForKeyPath:keyPath];
}
@end
/******************************************************************************
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment