[tracker/media-art-detect: 3/6] tracker-extract, gstreamer: Detect albumart
- From: Philip Van Hoof <pvanhoof src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [tracker/media-art-detect: 3/6] tracker-extract, gstreamer: Detect albumart
- Date: Tue, 25 Oct 2011 09:58:33 +0000 (UTC)
commit 1c1807f6a5108b9713f479f69000b0a0e90005a1
Author: Philip Van Hoof <philip codeminded be>
Date: Tue Oct 25 11:43:40 2011 +0200
tracker-extract, gstreamer: Detect albumart
src/tracker-extract/tracker-extract-gstreamer.c | 32 +++++++++++++++-------
1 files changed, 22 insertions(+), 10 deletions(-)
---
diff --git a/src/tracker-extract/tracker-extract-gstreamer.c b/src/tracker-extract/tracker-extract-gstreamer.c
index b7ca631..adc3203 100644
--- a/src/tracker-extract/tracker-extract-gstreamer.c
+++ b/src/tracker-extract/tracker-extract-gstreamer.c
@@ -1001,7 +1001,8 @@ extract_metadata (MetadataExtractor *extractor,
TrackerSparqlBuilder *metadata,
gchar **album_artist,
gchar **album_title,
- const gchar *graph)
+ const gchar *graph,
+ gboolean is_albumart)
{
g_return_if_fail (extractor != NULL);
g_return_if_fail (preupdate != NULL);
@@ -1056,7 +1057,11 @@ extract_metadata (MetadataExtractor *extractor,
tracker_sparql_builder_object (metadata, "nfo:Image");
if (extractor->mime != EXTRACT_MIME_SVG) {
- tracker_sparql_builder_object (metadata, "nmm:Photo");
+ if (is_albumart) {
+ tracker_sparql_builder_object (metadata, "nmm:MediaArt");
+ } else {
+ tracker_sparql_builder_object (metadata, "nmm:Photo");
+ }
} else {
tracker_sparql_builder_object (metadata, "nfo:VectorImage");
}
@@ -1932,7 +1937,8 @@ tracker_extract_gstreamer (const gchar *uri,
TrackerSparqlBuilder *postupdate,
TrackerSparqlBuilder *metadata,
ExtractMime type,
- const gchar *graph)
+ const gchar *graph,
+ gboolean is_albumart)
{
MetadataExtractor *extractor;
gchar *cue_sheet;
@@ -1987,7 +1993,7 @@ tracker_extract_gstreamer (const gchar *uri,
album_artist = NULL;
album_title = NULL;
- extract_metadata (extractor, uri, preupdate, postupdate, metadata, &album_artist, &album_title, graph);
+ extract_metadata (extractor, uri, preupdate, postupdate, metadata, &album_artist, &album_title, graph, is_albumart);
tracker_albumart_process (extractor->album_art_data,
extractor->album_art_size,
@@ -2037,23 +2043,29 @@ tracker_extract_get_metadata (TrackerExtractInfo *info)
#if defined(GSTREAMER_BACKEND_GUPNP_DLNA)
if (g_str_has_prefix (mimetype, "dlna/")) {
- tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_GUESS, graph);
+ tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_GUESS, graph,
+ tracker_is_albumart (file));
} else
#endif /* GSTREAMER_BACKEND_GUPNP_DLNA */
if (strcmp (mimetype, "image/svg+xml") == 0) {
- tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_SVG, graph);
+ tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_SVG, graph,
+ tracker_is_albumart (file));
} else if (strcmp (mimetype, "video/3gpp") == 0 ||
strcmp (mimetype, "video/mp4") == 0 ||
strcmp (mimetype, "video/x-ms-asf") == 0 ||
strcmp (mimetype, "application/vnd.rn-realmedia") == 0) {
- tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_GUESS, graph);
+ tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_GUESS, graph,
+ FALSE);
} else if (g_str_has_prefix (mimetype, "audio/")) {
- tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_AUDIO, graph);
+ tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_AUDIO, graph,
+ FALSE);
} else if (g_str_has_prefix (mimetype, "video/")) {
- tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_VIDEO, graph);
+ tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_VIDEO, graph,
+ FALSE);
} else if (g_str_has_prefix (mimetype, "image/")) {
- tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_IMAGE, graph);
+ tracker_extract_gstreamer (uri, preupdate, postupdate, metadata, EXTRACT_MIME_IMAGE, graph,
+ tracker_is_albumart (file));
} else {
g_free (uri);
return FALSE;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]