summaryrefslogtreecommitdiff
path: root/community/xbmc/cdio.patch
blob: 0f74deaa425b4a122c4c1fe19067543aa488105b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
diff -wbBur xbmc-11.0/xbmc/music/tags/MusicInfoTagLoaderCDDA.cpp xbmc-11.0.my/xbmc/music/tags/MusicInfoTagLoaderCDDA.cpp
--- xbmc-11.0/xbmc/music/tags/MusicInfoTagLoaderCDDA.cpp	2012-03-22 02:07:50.000000000 +0400
+++ xbmc-11.0.my/xbmc/music/tags/MusicInfoTagLoaderCDDA.cpp	2013-01-09 14:40:10.670040454 +0400
@@ -27,6 +27,10 @@
 #include "storage/MediaManager.h"
 #include "utils/log.h"
 
+#define CDTEXT_TITLE CDTEXT_FIELD_TITLE
+#define CDTEXT_PERFORMER CDTEXT_FIELD_PERFORMER
+#define CDTEXT_GENRE CDTEXT_FIELD_GENRE
+
 using namespace MUSIC_INFO;
 
 #ifdef HAS_DVD_DRIVE
diff -wbBur xbmc-11.0/xbmc/storage/cdioSupport.cpp xbmc-11.0.my/xbmc/storage/cdioSupport.cpp
--- xbmc-11.0/xbmc/storage/cdioSupport.cpp	2012-03-22 02:07:50.000000000 +0400
+++ xbmc-11.0.my/xbmc/storage/cdioSupport.cpp	2013-01-09 14:51:40.276801092 +0400
@@ -648,15 +648,18 @@
   CSingleLock lock(*m_cdio);
 
   // Get the CD-Text , if any
-  cdtext_t *pcdtext = (cdtext_t *)::cdio_get_cdtext(cdio, trackNum);
+  cdtext_t *pcdtext = (cdtext_t *)::cdio_get_cdtext(cdio);
 
   if (pcdtext == NULL)
     return ;
 
   // same ids used in libcdio and for our structure + the ids are consecutive make this copy loop safe.
   for (int i = 0; i < MAX_CDTEXT_FIELDS; i++)
-    if (pcdtext->field[i])
-      xcdt[(cdtext_field_t)i] = pcdtext->field[(cdtext_field_t)i];
+  {
+    char *data = cdtext_get(pcdtext, (cdtext_field_t)i, trackNum);
+    if (data != NULL)
+      xcdt[(cdtext_field_t)i] = data;
+  }
 }
 
 CCdInfo* CCdIoSupport::GetCdInfo(char* cDeviceFileName)