[vlc-commits] access: cdda: use track cdtext over album cdtext data

Francois Cartegnie git at videolan.org
Tue Jun 25 18:48:14 CEST 2019


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Tue Jun 25 17:08:31 2019 +0200| [576439404385ca6a401db43b11ee0bd8c54f833f] | committer: Francois Cartegnie

access: cdda: use track cdtext over album cdtext data

Fixes when album data was always overriding track info,
especially on compilations. Album is only used as default.

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

 modules/access/cdda.c | 31 ++++++++++++++++++-------------
 1 file changed, 18 insertions(+), 13 deletions(-)

diff --git a/modules/access/cdda.c b/modules/access/cdda.c
index afa899769c..982c220c45 100644
--- a/modules/access/cdda.c
+++ b/modules/access/cdda.c
@@ -757,22 +757,27 @@ static int ReadDir(stream_t *access, input_item_node_t *node)
             year = cddb_disc_get_year(sys->cddb);
         }
 #endif
-        const vlc_meta_t *m;
 
-        if (sys->cdtextc > 0 && (m = sys->cdtextv[0]) != NULL)
+        /* Per track CDText */
+        if(sys->cdtextc > 0)
         {
-            ON_EMPTY(artist, vlc_meta_Get(m, vlc_meta_Artist));
-            ON_EMPTY(album,  vlc_meta_Get(m, vlc_meta_Album));
-            ON_EMPTY(genre,  vlc_meta_Get(m, vlc_meta_Genre));
-            description =    vlc_meta_Get(m, vlc_meta_Description);
-        }
+            const vlc_meta_t *m;
+            if (i + 1 < sys->cdtextc && (m = sys->cdtextv[i + 1]) != NULL)
+            {
+                ON_EMPTY(title,       vlc_meta_Get(m, vlc_meta_Title));
+                ON_EMPTY(artist,      vlc_meta_Get(m, vlc_meta_Artist));
+                ON_EMPTY(genre,       vlc_meta_Get(m, vlc_meta_Genre));
+                ON_EMPTY(description, vlc_meta_Get(m, vlc_meta_Description));
+            }
 
-        if (i + 1 < sys->cdtextc && (m = sys->cdtextv[i + 1]) != NULL)
-        {
-            ON_EMPTY(title,       vlc_meta_Get(m, vlc_meta_Title));
-            ON_EMPTY(artist,      vlc_meta_Get(m, vlc_meta_Artist));
-            ON_EMPTY(genre,       vlc_meta_Get(m, vlc_meta_Genre));
-            ON_EMPTY(description, vlc_meta_Get(m, vlc_meta_Description));
+            /* Album CDtext data */
+            if ((m = sys->cdtextv[0]) != NULL)
+            {
+                ON_EMPTY(artist,      vlc_meta_Get(m, vlc_meta_Artist));
+                ON_EMPTY(album,       vlc_meta_Get(m, vlc_meta_Album));
+                ON_EMPTY(genre,       vlc_meta_Get(m, vlc_meta_Genre));
+                ON_EMPTY(description, vlc_meta_Get(m, vlc_meta_Description));
+            }
         }
 
         if(sys->mbrecord && sys->mbrecord->i_release)



More information about the vlc-commits mailing list