[tracker] tracker-extract: clean up libstreamanalyzer integration a bit
- From: Martyn James Russell <mr src gnome org>
- To: svn-commits-list gnome org
- Cc:
- Subject: [tracker] tracker-extract: clean up libstreamanalyzer integration a bit
- Date: Mon, 26 Oct 2009 16:15:30 +0000 (UTC)
commit 09ffcd5518c0950620b3c2ffd9426185e4e63ddb
Author: Martyn Russell <martyn lanedo com>
Date: Mon Oct 26 15:57:31 2009 +0000
tracker-extract: clean up libstreamanalyzer integration a bit
configure.ac | 20 ++++++++++++------
src/tracker-extract/Makefile.am | 11 ++++-----
src/tracker-extract/tracker-extract.c | 29 +++++++++++++++++---------
src/tracker-extract/tracker-topanalyzer.cpp | 21 +++++++++++--------
4 files changed, 49 insertions(+), 32 deletions(-)
---
diff --git a/configure.ac b/configure.ac
index 36ea0c8..b55d699 100644
--- a/configure.ac
+++ b/configure.ac
@@ -151,7 +151,7 @@ HILDON_THUMBNAIL_REQUIRED=3.0.10
EVO_REQUIRED=2.25.5
EDS_REQUIRED=2.25.5
# Unlikely version for now, Nepomuk integration isn't finished in streamanalyzer atm
-STREAMANALYZER_REQUIRED=9.9.9
+LIBSTREAMANALYZER_REQUIRED=0.7.0
GEE_REQUIRED=0.3
# Library Checks
@@ -201,12 +201,18 @@ AC_SUBST(GCONF_LIBS)
AM_CONDITIONAL(HAVE_GCONF, test "$have_gconf" = "yes")
# Check for Streamanalyzer
-PKG_CHECK_MODULES(STREAMANALYZER, [libstreamanalyzer >= $STREAMANALYZER_REQUIRED],
- [have_streamanalyzer=yes], [have_streamanalyzer=no])
-AC_SUBST(STREAMANALYZER_CFLAGS)
-AC_SUBST(STREAMANALYZER_LIBS)
+PKG_CHECK_MODULES(LIBSTREAMANALYZER,
+ [libstreamanalyzer >= $LIBSTREAMANALYZER_REQUIRED],
+ [have_libstreamanalyzer=yes],
+ [have_libstreamanalyzer=no])
+AC_SUBST(LIBSTREAMANALYZER_CFLAGS)
+AC_SUBST(LIBSTREAMANALYZER_LIBS)
-AM_CONDITIONAL(HAVE_STREAMANALYZER, test "$have_streamanalyzer" = "yes")
+AM_CONDITIONAL(HAVE_LIBSTREAMANALYZER, test "$have_libstreamanalyzer" = "yes")
+
+if test x$have_libstreamanalyzer == "xyes"; then
+ AC_DEFINE(HAVE_LIBSTREAMANALYZER, 1, [libstreamanalyzer is available])
+fi
# Check for libuuid
PKG_CHECK_MODULES(UUID, [uuid])
@@ -1466,7 +1472,7 @@ Applications:
Metadata Extractors:
- Support StreamAnalyzer: $have_streamanalyzer
+ Support libstreamanalyzer: $have_libstreamanalyzer
Support PNG: yes
Support PDF: $have_poppler_glib
Support JPEG: $have_libjpeg (xmp: $have_exempi, exif: $have_libexif, iptc: $have_libiptcdata)
diff --git a/src/tracker-extract/Makefile.am b/src/tracker-extract/Makefile.am
index 6b5e0db..b098bd8 100644
--- a/src/tracker-extract/Makefile.am
+++ b/src/tracker-extract/Makefile.am
@@ -28,8 +28,8 @@ INCLUDES = \
$(XINE_CFLAGS) \
$(TOTEM_PL_PARSER_CFLAGS)
-if HAVE_STREAMANALYZER
-INCLUDES += $(STREAMANALYZER_CFLAGS) -DHAVE_STREAMANALYZER
+if HAVE_LIBSTREAMANALYZER
+INCLUDES += $(LIBSTREAMANALYZER_CFLAGS)
endif
if HAVE_ENCA
@@ -264,12 +264,11 @@ tracker_extract_LDADD = \
$(GMODULE_LIBS) \
$(GTHREAD_LIBS) \
$(GCOV_LIBS) \
- $(GLIB2_LIBS) \
- $(STREAMANALYZER_LIBS)
+ $(GLIB2_LIBS)
-if HAVE_STREAMANALYZER
+if HAVE_LIBSTREAMANALYZER
tracker_extract_SOURCES += tracker-topanalyzer.cpp tracker-topanalyzer.h
-tracker_extract_LDADD += $(STREAMANALYZER_LIBS)
+tracker_extract_LDADD += $(LIBSTREAMANALYZER_LIBS)
endif
if HAVE_GDKPIXBUF
diff --git a/src/tracker-extract/tracker-extract.c b/src/tracker-extract/tracker-extract.c
index 3b2d64b..82e8139 100644
--- a/src/tracker-extract/tracker-extract.c
+++ b/src/tracker-extract/tracker-extract.c
@@ -34,9 +34,9 @@
#include "tracker-main.h"
#include "tracker-marshal.h"
-#ifdef HAVE_STREAMANALYZER
+#ifdef HAVE_LIBSTREAMANALYZER
#include "tracker-topanalyzer.h"
-#endif
+#endif /* HAVE_STREAMANALYZER */
#define MAX_EXTRACT_TIME 10
@@ -93,9 +93,9 @@ tracker_extract_class_init (TrackerExtractClass *klass)
static void
tracker_extract_init (TrackerExtract *object)
{
-#ifdef HAVE_STREAMANALYZER
+#ifdef HAVE_LIBSTREAMANALYZER
tracker_topanalyzer_init ();
-#endif
+#endif /* HAVE_STREAMANALYZER */
}
static void
@@ -105,9 +105,9 @@ tracker_extract_finalize (GObject *object)
priv = TRACKER_EXTRACT_GET_PRIVATE (object);
-#ifdef HAVE_STREAMANALYZER
+#ifdef HAVE_LIBSTREAMANALYZER
tracker_topanalyzer_shutdown ();
-#endif
+#endif /* HAVE_STREAMANALYZER */
g_array_free (priv->specific_extractors, TRUE);
g_array_free (priv->generic_extractors, TRUE);
@@ -140,6 +140,11 @@ tracker_extract_new (gboolean disable_shutdown)
return NULL;
}
+#ifdef HAVE_LIBSTREAMANALYZER
+ g_message ("Adding extractor for libstreamanalyzer");
+ g_message (" Generic match for ALL (tried first before our module)");
+ g_message (" Specific match for NONE (fallback to our modules)");
+#endif /* HAVE_STREAMANALYZER */
specific_extractors = g_array_new (FALSE,
TRUE,
sizeof (ModuleData));
@@ -226,13 +231,17 @@ get_file_metadata (TrackerExtract *extract,
tracker_sparql_builder_insert_open (statements);
-#ifdef HAVE_STREAMANALYZER
+#ifdef HAVE_LIBSTREAMANALYZER
+ tracker_dbus_request_comment (request_id,
+ " Extracting with libstreamanalyzer...");
+
tracker_topanalyzer_extract (uri, statements, &content_type);
- if ((!mime || mime[0]=='\0') && content_type) {
- mime = content_type;
+ if (tracker_sparql_builder_get_length (statements) > 0) {
+ tracker_sparql_builder_insert_close (statements);
+ return statements;
}
-#endif
+#endif /* HAVE_LIBSTREAMANALYZER */
if (mime && *mime) {
/* We know the mime */
diff --git a/src/tracker-extract/tracker-topanalyzer.cpp b/src/tracker-extract/tracker-topanalyzer.cpp
index bf6c4b8..af11db4 100644
--- a/src/tracker-extract/tracker-topanalyzer.cpp
+++ b/src/tracker-extract/tracker-topanalyzer.cpp
@@ -233,7 +233,7 @@ namespace Tracker {
value.c_str());
}
- void Tracker::TripleCollector::finishAnalysis (const AnalysisResult* ) { }
+ void Tracker::TripleCollector::finishAnalysis (const AnalysisResult*) { }
}
typedef struct {
@@ -245,7 +245,7 @@ typedef struct {
static void
private_free (gpointer data)
{
- TrackerTopanalyzerPrivate *priv = (TrackerTopanalyzerPrivate *) data;
+ TrackerTopanalyzerPrivate *priv = (TrackerTopanalyzerPrivate*) data;
delete priv->mconfig;
delete priv->streamindexer;
@@ -263,7 +263,7 @@ tracker_topanalyzer_init (void)
* filetype or file, you can inherit a Strigi::AnalyzerConfiguration
* and have some tuning this way. */
- FieldRegister::FieldRegister();
+ FieldRegister::FieldRegister ();
priv = g_new0 (TrackerTopanalyzerPrivate, 1);
@@ -285,12 +285,14 @@ tracker_topanalyzer_shutdown (void)
}
void
-tracker_topanalyzer_extract (const gchar *uri, TrackerSparqlBuilder *metadata, gchar **content_type)
+tracker_topanalyzer_extract (const gchar *uri,
+ TrackerSparqlBuilder *metadata,
+ gchar **content_type)
{
- gchar *filename;
TrackerTopanalyzerPrivate *priv;
+ gchar *filename;
- priv = (TrackerTopanalyzerPrivate *) g_static_private_get (&private_key);
+ priv = (TrackerTopanalyzerPrivate*) g_static_private_get (&private_key);
g_return_if_fail (priv != NULL);
/* We need the filename from the URI because we'll use stat() and because
@@ -307,7 +309,7 @@ tracker_topanalyzer_extract (const gchar *uri, TrackerSparqlBuilder *metadata,
* implementation does (collecting triples) */
priv->m_writer->setParams (uri, metadata);
- stat(filename, &s);
+ stat (filename, &s);
/* The first parameter that we pass here will influence what
* idx->path() will be above. StreamAnalyzer only ever appends
@@ -339,10 +341,11 @@ tracker_topanalyzer_extract (const gchar *uri, TrackerSparqlBuilder *metadata,
FileInputStream resource (filename);
if (resource.status() == Ok) {
- analysisresult.index(&resource);
+ analysisresult.index (&resource);
- if (content_type && priv->m_writer->content_type)
+ if (content_type && priv->m_writer->content_type) {
*content_type = g_strdup (priv->m_writer->content_type);
+ }
}
g_free (filename);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]