[tracker] tracker-extract: Use artist's value in filename when creating new album art



commit 070ca5a7bbf90acfe9b167d72b51828f669ee6b4
Author: Dariusz Wiechecki (EXT-Comarch) <ext-dariusz 2 wiechecki nokia com>
Date:   Thu Feb 18 11:55:55 2010 +0200

    tracker-extract: Use artist's value in filename when creating new album art

 .../tracker-extract-gstreamer-helix.c              |    2 +-
 src/tracker-extract/tracker-extract-gstreamer.c    |   17 ++++++++++-------
 src/tracker-extract/tracker-extract-mp3.c          |    6 +++---
 3 files changed, 14 insertions(+), 11 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-gstreamer-helix.c b/src/tracker-extract/tracker-extract-gstreamer-helix.c
index 3bd99d3..0028873 100644
--- a/src/tracker-extract/tracker-extract-gstreamer-helix.c
+++ b/src/tracker-extract/tracker-extract-gstreamer-helix.c
@@ -842,7 +842,7 @@ tracker_extract_gstreamer_helix (const gchar *uri,
 	tracker_albumart_process (extractor->album_art_data,
 	                          extractor->album_art_size,
 	                          NULL,
-	                          /* g_hash_table_lookup (metadata, "Audio:Artist") */ NULL,
+	                          artist,
 	                          album,
 	                          uri);
 
diff --git a/src/tracker-extract/tracker-extract-gstreamer.c b/src/tracker-extract/tracker-extract-gstreamer.c
index 405cb03..9b4e6db 100644
--- a/src/tracker-extract/tracker-extract-gstreamer.c
+++ b/src/tracker-extract/tracker-extract-gstreamer.c
@@ -456,6 +456,7 @@ extract_metadata (MetadataExtractor      *extractor,
                   const gchar            *uri,
                   TrackerSparqlBuilder   *preupdate,
                   TrackerSparqlBuilder   *metadata,
+                  gchar                 **artist,
                   gchar                 **album,
                   gchar                 **scount)
 {
@@ -491,12 +492,12 @@ extract_metadata (MetadataExtractor      *extractor,
 
 		/* General */
 		if (extractor->mime == EXTRACT_MIME_AUDIO || extractor->mime == EXTRACT_MIME_VIDEO) {
-			gchar *performer = NULL, *artist = NULL;
+			gchar *performer = NULL, *artist_local = NULL;
 
 			gst_tag_list_get_string (extractor->tagcache, GST_TAG_PERFORMER, &performer);
-			gst_tag_list_get_string (extractor->tagcache, GST_TAG_ARTIST, &artist);
+			gst_tag_list_get_string (extractor->tagcache, GST_TAG_ARTIST, &artist_local);
 
-			s = tracker_coalesce (2, performer, artist);
+			s = tracker_coalesce (2, performer, artist_local);
 
 			if (s) {
 				performer_uri = tracker_uri_printf_escaped ("urn:artist:%s", s);
@@ -509,7 +510,7 @@ extract_metadata (MetadataExtractor      *extractor,
 				tracker_sparql_builder_object_unvalidated (preupdate, s);
 				tracker_sparql_builder_insert_close (preupdate);
 
-				g_free (s);
+				*artist = s;
 			}
 
 			s = NULL;
@@ -1005,7 +1006,7 @@ tracker_extract_gstreamer (const gchar *uri,
                            ExtractMime  type)
 {
 	MetadataExtractor *extractor;
-	gchar *album, *scount;
+	gchar *artist, *album, *scount;
 
 	g_return_if_fail (uri);
 	g_return_if_fail (metadata);
@@ -1071,18 +1072,20 @@ tracker_extract_gstreamer (const gchar *uri,
 
 	album = NULL;
 	scount = NULL;
+	artist = NULL;
 
-	extract_metadata (extractor, uri, preupdate, metadata, &album, &scount);
+	extract_metadata (extractor, uri, preupdate, metadata, &artist, &album, &scount);
 
 	tracker_albumart_process (extractor->album_art_data,
 	                          extractor->album_art_size,
 	                          extractor->album_art_mime,
-	                          /* g_hash_table_lookup (metadata, "Audio:Artist") */ NULL,
+	                          artist,
 	                          album,
 	                          uri);
 
 	g_free (scount);
 	g_free (album);
+	g_free (artist);
 
 	gst_element_set_state (extractor->pipeline, GST_STATE_NULL);
 	gst_element_get_state (extractor->pipeline, NULL, NULL, TRACKER_EXTRACT_GUARD_TIMEOUT* GST_SECOND);
diff --git a/src/tracker-extract/tracker-extract-mp3.c b/src/tracker-extract/tracker-extract-mp3.c
index aa3cad3..fe9470d 100644
--- a/src/tracker-extract/tracker-extract-mp3.c
+++ b/src/tracker-extract/tracker-extract-mp3.c
@@ -1997,8 +1997,7 @@ extract_mp3 (const gchar          *uri,
 		tracker_sparql_builder_object_unvalidated (preupdate, md.performer);
 
 		tracker_sparql_builder_insert_close (preupdate);
-
-		g_free (md.performer);
+		/* do not delete artist, needed by albumart */
 	}
 
 	if (md.lyricist) {
@@ -2124,10 +2123,11 @@ extract_mp3 (const gchar          *uri,
 	tracker_albumart_process (md.albumart_data,
 	                          md.albumart_size,
 	                          md.albumart_mime,
-	                          NULL,
+	                          md.performer,
 	                          md.album,
 	                          filename);
 
+	g_free (md.performer);
 	g_free (md.album);
 	g_free (md.title);
 	g_free (md.albumart_data);



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]