From: Jakob Leben Date: Fri, 12 Feb 2010 00:25:13 +0000 (+0100) Subject: playlist: cache artwork by download URL instead of title when artist and album meta... X-Git-Tag: 1.1.0-ff~148 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=f9fa3d512123a4c228ffa07ff6b7f5307c4feb00;p=vlc playlist: cache artwork by download URL instead of title when artist and album meta missing Performs much better. URL is sanitized by filename_sanitize() just as title before. --- diff --git a/src/playlist/art.c b/src/playlist/art.c index 6ec15b11d4..6538cbad60 100644 --- a/src/playlist/art.c +++ b/src/playlist/art.c @@ -111,10 +111,9 @@ static char *ArtCachePath( input_item_t *p_item ) psz_artist = vlc_meta_Get( p_item->p_meta, vlc_meta_Artist ); psz_album = vlc_meta_Get( p_item->p_meta, vlc_meta_Album ); - psz_title = vlc_meta_Get( p_item->p_meta, vlc_meta_Title ); - - if( !psz_title ) - psz_title = p_item->psz_name; + /* cache by art URL instead of title - performs better in many cases + when multiple items without album and artist have same art URL */ + psz_title = vlc_meta_Get( p_item->p_meta, vlc_meta_ArtworkURL ); if( (!psz_artist || !psz_album ) && !psz_title ) goto end; diff --git a/src/playlist/fetcher.c b/src/playlist/fetcher.c index de85c8bf2c..2075c0dfdb 100644 --- a/src/playlist/fetcher.c +++ b/src/playlist/fetcher.c @@ -234,7 +234,11 @@ static int FindArt( playlist_fetcher_t *p_fetcher, input_item_t *p_item ) if( p_module ) { module_unneed( p_finder, p_module ); - i_ret = 1; + /* Try immediately if found in cache by download URL */ + if( !playlist_FindArtInCache( p_item ) ) + i_ret = 0; + else + i_ret = 1; } vlc_object_release( p_finder ); }