[vlc-commits] input item: attempt to clarify art URL merge

Rémi Denis-Courmont git at videolan.org
Fri Aug 15 18:46:45 CEST 2014


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Fri Aug 15 18:51:57 2014 +0300| [d022a1a7c79b97be53e236d9e2d72b1aef938d95] | committer: Rémi Denis-Courmont

input item: attempt to clarify art URL merge

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=d022a1a7c79b97be53e236d9e2d72b1aef938d95
---

 src/input/es_out.c |   33 +++++++++++++--------------------
 1 file changed, 13 insertions(+), 20 deletions(-)

diff --git a/src/input/es_out.c b/src/input/es_out.c
index 03a494c..414970b 100644
--- a/src/input/es_out.c
+++ b/src/input/es_out.c
@@ -1352,33 +1352,26 @@ static void EsOutMeta( es_out_t *p_out, const vlc_meta_t *p_meta )
     if( vlc_meta_Get( p_meta, vlc_meta_Title ) != NULL )
         input_item_SetName( p_item, vlc_meta_Get( p_meta, vlc_meta_Title ) );
 
-    char *psz_arturl = input_item_GetArtURL( p_item );
+    char *psz_arturl = NULL;
+    if( vlc_meta_Get( p_item->p_meta, vlc_meta_ArtworkURL ) != NULL )
+        psz_arturl = input_item_GetArtURL( p_item ); /* save value */
 
     vlc_mutex_lock( &p_item->lock );
-
     vlc_meta_Merge( p_item->p_meta, p_meta );
-
-    if( !psz_arturl || *psz_arturl == '\0' )
-    {
-        const char *psz_tmp = vlc_meta_Get( p_item->p_meta, vlc_meta_ArtworkURL );
-        if( psz_tmp )
-            psz_arturl = strdup( psz_tmp );
-    }
     vlc_mutex_unlock( &p_item->lock );
 
-    if( psz_arturl && *psz_arturl )
-    {
+    if( psz_arturl != NULL ) /* restore/favor previously set item art URL */
         input_item_SetArtURL( p_item, psz_arturl );
+    else
+        psz_arturl = input_item_GetArtURL( p_item );
 
-        if( !strncmp( psz_arturl, "attachment://", 13 ) )
-        {
-            /* Don't look for art cover if sout
-             * XXX It can change when sout has meta data support */
-            if( p_input->p->p_sout && !p_input->b_preparsing )
-                input_item_SetArtURL( p_item, "" );
-            else
-                input_ExtractAttachmentAndCacheArt( p_input );
-        }
+    if( psz_arturl != NULL && !strncmp( psz_arturl, "attachment://", 13 ) )
+    {   /* Clear art cover if streaming out.
+         * FIXME: Why? Remove this when sout gets meta data support. */
+        if( p_input->p->p_sout && !p_input->b_preparsing )
+            input_item_SetArtURL( p_item, NULL );
+        else
+            input_ExtractAttachmentAndCacheArt( p_input );
     }
     free( psz_arturl );
 



More information about the vlc-commits mailing list