commit 06a7dae99577c32e8819df3ad3769c77550bde6f
Author: Tom Callaway <spot(a)fedoraproject.org>
Date: Fri Aug 31 15:13:16 2012 -0400
rebuild for grilo 0.2.0
media-explorer-0.4.0-grilo0.2.patch | 1061 +++++++++++++++++++++++++++++++++++
media-explorer.spec | 9 +-
2 files changed, 1068 insertions(+), 2 deletions(-)
---
diff --git a/media-explorer-0.4.0-grilo0.2.patch b/media-explorer-0.4.0-grilo0.2.patch
new file mode 100644
index 0000000..4a83549
--- /dev/null
+++ b/media-explorer-0.4.0-grilo0.2.patch
@@ -0,0 +1,1061 @@
+diff -up media-explorer-0.4.0/configure.ac.grilo02 media-explorer-0.4.0/configure.ac
+--- media-explorer-0.4.0/configure.ac.grilo02 2012-03-30 07:07:14.000000000 -0400
++++ media-explorer-0.4.0/configure.ac 2012-08-30 12:21:31.318024696 -0400
+@@ -84,7 +84,7 @@ AC_HEADER_STDC
+
+ GLIB_REQ_VERSION=2.26
+ MX_REQ_VERSION=1.3.2
+-GRILO_REQ_VERSION=0.1.16
++GRILO_REQ_VERSION=0.2.0
+ CLUTTER_REQ_VERSION=1.8.0
+ CLUTTER_GST_REQ_VERSION=1.4.0
+ GSTREAMER_REQ_VERSION=0.10.26
+@@ -166,7 +166,7 @@ modules="glib-2.0 >= $GLIB_REQ_VERSION
+ libsoup-2.4 \
+ clutter-1.0 >= $CLUTTER_REQ_VERSION \
+ mx-$mx_version >= $MX_REQ_VERSION \
+- grilo-0.1 >= $GRILO_REQ_VERSION \
++ grilo-0.2 >= $GRILO_REQ_VERSION \
+ gstreamer-0.10 >= $GSTREAMER_REQ_VERSION \
+ gstreamer-tag-0.10 >= $GSTREAMER_REQ_VERSION \
+ clutter-gst-1.0 >= $CLUTTER_GST_REQ_VERSION"
+diff -up media-explorer-0.4.0/mex/mex-grilo.c.grilo02
media-explorer-0.4.0/mex/mex-grilo.c
+--- media-explorer-0.4.0/mex/mex-grilo.c.grilo02 2012-03-09 10:28:41.000000000 -0500
++++ media-explorer-0.4.0/mex/mex-grilo.c 2012-08-30 12:21:31.318024696 -0400
+@@ -44,7 +44,7 @@ mex_grilo_init (int *p_argc, char **p_ar
+ MEX_CONTENT_METADATA_DURATION);
+ _insert_grl_mex_link (GRL_METADATA_KEY_URL,
+ MEX_CONTENT_METADATA_STREAM);
+- _insert_grl_mex_link (GRL_METADATA_KEY_DATE,
++ _insert_grl_mex_link (GRL_METADATA_KEY_PUBLICATION_DATE,
+ MEX_CONTENT_METADATA_DATE);
+ _insert_grl_mex_link (GRL_METADATA_KEY_MIME,
+ MEX_CONTENT_METADATA_MIMETYPE);
+diff -up media-explorer-0.4.0/mex/mex-grilo-feed.c.grilo02
media-explorer-0.4.0/mex/mex-grilo-feed.c
+--- media-explorer-0.4.0/mex/mex-grilo-feed.c.grilo02 2012-02-13 05:47:20.000000000
-0500
++++ media-explorer-0.4.0/mex/mex-grilo-feed.c 2012-08-30 12:21:31.319024696 -0400
+@@ -34,7 +34,7 @@ enum {
+ };
+
+ struct _MexGriloFeedPrivate {
+- GrlMediaSource *source;
++ GrlSource *source;
+ GrlMedia *root;
+
+ MexGriloOperation *op;
+@@ -57,7 +57,7 @@ struct _MexGriloFeedPrivate {
+
+ G_DEFINE_TYPE (MexGriloFeed, mex_grilo_feed, MEX_TYPE_FEED)
+
+-static void update_source (MexGriloFeed *feed, GrlMediaSource *new_source);
++static void update_source (MexGriloFeed *feed, GrlSource *new_source);
+
+ static void mex_grilo_feed_stop_op (MexGriloFeed *feed);
+ static void mex_grilo_feed_start_op (MexGriloFeed *feed);
+@@ -67,21 +67,21 @@ static void mex_grilo_feed_init_op (MexG
+ static guint _mex_grilo_feed_browse (MexGriloFeed *feed,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback);
++ GrlSourceResultCb callback);
+ static guint _mex_grilo_feed_query (MexGriloFeed *feed,
+ const char *query,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback);
++ GrlSourceResultCb callback);
+ static guint _mex_grilo_feed_search (MexGriloFeed *feed,
+ const char *search_text,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback);
++ GrlSourceResultCb callback);
+
+-static void _mex_grilo_feed_content_updated (GrlMediaSource *source,
++static void _mex_grilo_feed_content_updated (GrlSource *source,
+ GPtrArray *changed_medias,
+- GrlMediaSourceChangeType change_type,
++ GrlSourceChangeType change_type,
+ gboolean known_location,
+ MexGriloFeed *feed);
+
+@@ -226,8 +226,8 @@ mex_grilo_feed_constructed (GObject *obj
+ title = NULL;
+ if (priv->root)
+ title = grl_media_get_title (priv->root);
+- if (!title && GRL_IS_MEDIA_PLUGIN (priv->source))
+- title = grl_metadata_source_get_name (GRL_METADATA_SOURCE (priv->source));
++ if (!title && GRL_IS_SOURCE (priv->source))
++ title = grl_source_get_name (priv->source);
+ if (title)
+ g_object_set (object, "title", title, NULL);
+
+@@ -263,7 +263,7 @@ mex_grilo_feed_class_init (MexGriloFeedC
+
+ pspec = g_param_spec_object ("grilo-source", "Grilo source",
+ "Grilo source for this feed",
+- GRL_TYPE_MEDIA_SOURCE,
++ GRL_TYPE_SOURCE,
+ G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS |
+ G_PARAM_CONSTRUCT_ONLY);
+ g_object_class_install_property (o_class, PROP_SOURCE, pspec);
+@@ -307,7 +307,7 @@ mex_grilo_feed_init (MexGriloFeed *self)
+ }
+
+ MexFeed *
+-mex_grilo_feed_new (GrlMediaSource *source,
++mex_grilo_feed_new (GrlSource *source,
+ const GList *query_keys,
+ const GList *metadata_keys,
+ GrlMedia *root)
+@@ -349,7 +349,7 @@ emit_media_added (MexGriloFeed *feed, Gr
+ }
+
+ static void
+-browse_cb (GrlMediaSource *source,
++browse_cb (GrlSource *source,
+ guint browse_id,
+ GrlMedia *media,
+ guint remaining,
+@@ -384,7 +384,7 @@ browse_cb (GrlMediaSource *source,
+ const gchar *source_name;
+
+ source_name =
+- grl_metadata_source_get_name (GRL_METADATA_SOURCE (priv->source));
++ grl_source_get_name (priv->source);
+ g_warning ("FIXME: oh no, a grilo bug! (on the '%s' source)",
+ source_name);
+ return;
+@@ -518,16 +518,23 @@ static guint
+ _mex_grilo_feed_browse (MexGriloFeed *feed,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback)
++ GrlSourceResultCb callback)
+ {
+ MexGriloFeedPrivate *priv = feed->priv;
++ GrlOperationOptions *options;
++ GrlCaps *caps;
+
+- return grl_media_source_browse (priv->source, priv->root,
+- priv->query_keys,
+- priv->op->offset,
+- priv->op->limit,
+- BROWSE_FLAGS,
+- callback, feed);
++ caps = grl_source_get_caps (priv->source, GRL_OP_BROWSE);
++
++ options = grl_operation_options_new (caps);
++ grl_operation_options_set_skip (options, priv->op->offset);
++ grl_operation_options_set_count (options, priv->op->limit);
++ grl_operation_options_set_flags (options, BROWSE_FLAGS);
++
++ return grl_source_browse (priv->source, priv->root,
++ priv->query_keys,
++ options,
++ callback, feed);
+ }
+
+ static guint
+@@ -535,16 +542,23 @@ _mex_grilo_feed_query (MexGriloFeed
+ const char *query,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback)
++ GrlSourceResultCb callback)
+ {
+ MexGriloFeedPrivate *priv = feed->priv;
++ GrlOperationOptions *options;
++ GrlCaps *caps;
++
++ caps = grl_source_get_caps (priv->source, GRL_OP_QUERY);
+
+- return grl_media_source_query (priv->source, priv->op->text,
+- priv->query_keys,
+- priv->op->offset,
+- priv->op->limit,
+- BROWSE_FLAGS,
+- callback, feed);
++ options = grl_operation_options_new (caps);
++ grl_operation_options_set_skip (options, priv->op->offset);
++ grl_operation_options_set_count (options, priv->op->limit);
++ grl_operation_options_set_flags (options, BROWSE_FLAGS);
++
++ return grl_source_query (priv->source, priv->op->text,
++ priv->query_keys,
++ options,
++ callback, feed);
+ }
+
+ static guint
+@@ -552,16 +566,23 @@ _mex_grilo_feed_search (MexGriloFeed
+ const char *search_text,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback)
++ GrlSourceResultCb callback)
+ {
+ MexGriloFeedPrivate *priv = feed->priv;
++ GrlOperationOptions *options;
++ GrlCaps *caps;
++
++ caps = grl_source_get_caps (priv->source, GRL_OP_SEARCH);
+
+- return grl_media_source_search (priv->source, priv->op->text,
+- priv->query_keys,
+- priv->op->offset,
+- priv->op->limit,
+- BROWSE_FLAGS,
+- callback, feed);
++ options = grl_operation_options_new (caps);
++ grl_operation_options_set_skip (options, priv->op->offset);
++ grl_operation_options_set_count (options, priv->op->limit);
++ grl_operation_options_set_flags (options, BROWSE_FLAGS);
++
++ return grl_source_search (priv->source, priv->op->text,
++ priv->query_keys,
++ options,
++ callback, feed);
+ }
+
+ void
+@@ -654,9 +675,9 @@ mex_grilo_feed_get_completed (MexGriloFe
+ }
+
+ static void
+-_mex_grilo_feed_content_updated (GrlMediaSource *source,
++_mex_grilo_feed_content_updated (GrlSource *source,
+ GPtrArray *changed_medias,
+- GrlMediaSourceChangeType change_type,
++ GrlSourceChangeType change_type,
+ gboolean known_location,
+ MexGriloFeed *feed)
+ {
+@@ -699,7 +720,7 @@ _mex_grilo_feed_content_updated (GrlMedi
+ }
+
+ static void
+-update_source (MexGriloFeed *feed, GrlMediaSource *new_source)
++update_source (MexGriloFeed *feed, GrlSource *new_source)
+ {
+ MexGriloFeedPrivate *priv = feed->priv;
+ MexGriloFeedClass *klass = MEX_GRILO_FEED_GET_CLASS (feed);
+@@ -715,7 +736,7 @@ update_source (MexGriloFeed *feed, GrlMe
+ if (new_source) {
+ gchar *lower;
+ const gchar *source_name =
+- grl_metadata_source_get_name (GRL_METADATA_SOURCE (new_source));
++ grl_source_get_name (new_source);
+
+ priv->source = g_object_ref (new_source);
+ g_signal_connect (priv->source,
+diff -up media-explorer-0.4.0/mex/mex-grilo-feed.h.grilo02
media-explorer-0.4.0/mex/mex-grilo-feed.h
+--- media-explorer-0.4.0/mex/mex-grilo-feed.h.grilo02 2012-02-13 05:47:20.000000000
-0500
++++ media-explorer-0.4.0/mex/mex-grilo-feed.h 2012-08-30 12:21:31.319024696 -0400
+@@ -90,28 +90,28 @@ struct _MexGriloFeedClass
+ guint (*browse) (MexGriloFeed *feed,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback);
++ GrlSourceResultCb callback);
+ guint (*query) (MexGriloFeed *feed,
+ const char *query,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback);
++ GrlSourceResultCb callback);
+ guint (*search) (MexGriloFeed *feed,
+ const char *search_text,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback);
++ GrlSourceResultCb callback);
+
+- void (*content_updated) (GrlMediaSource *source,
++ void (*content_updated) (GrlSource *source,
+ GPtrArray *changed_medias,
+- GrlMediaSourceChangeType change_type,
++ GrlSourceChangeType change_type,
+ gboolean known_location,
+ MexGriloFeed *feed);
+ };
+
+ GType mex_grilo_feed_get_type (void) G_GNUC_CONST;
+
+-MexFeed *mex_grilo_feed_new (GrlMediaSource *source,
++MexFeed *mex_grilo_feed_new (GrlSource *source,
+ const GList *query_keys,
+ const GList *metadata_keys,
+ GrlMedia *root);
+diff -up media-explorer-0.4.0/mex/mex-grilo-program.c.grilo02
media-explorer-0.4.0/mex/mex-grilo-program.c
+--- media-explorer-0.4.0/mex/mex-grilo-program.c.grilo02 2012-02-13 05:47:20.000000000
-0500
++++ media-explorer-0.4.0/mex/mex-grilo-program.c 2012-08-30 12:21:31.319024696 -0400
+@@ -123,7 +123,7 @@ typedef struct
+ } MexGriloProgramClosure;
+
+ static void
+-mex_grilo_program_get_stream_cb (GrlMediaSource *source,
++mex_grilo_program_get_stream_cb (GrlSource *source,
+ guint operation_id,
+ GrlMedia *media,
+ gpointer userdata,
+@@ -165,7 +165,7 @@ mex_grilo_program_get_stream (MexProgram
+ gpointer userdata)
+ {
+ GList *keys;
+- GrlMediaSource *source;
++ GrlSource *source;
+ MexGriloProgramClosure *closure;
+ MexGriloProgram *self = MEX_GRILO_PROGRAM (program);
+ MexGriloProgramPrivate *priv = self->priv;
+@@ -184,16 +184,15 @@ mex_grilo_program_get_stream (MexProgram
+ g_object_get (G_OBJECT (mex_program_get_feed (program)),
+ "grilo-source", &source,
+ NULL);
+- if (GRL_IS_METADATA_SOURCE (source) &&
+- grl_metadata_source_supported_operations (
+- GRL_METADATA_SOURCE (source)) &
GRL_OP_METADATA) {
++ if (GRL_IS_SOURCE (source) &&
++ grl_source_supported_operations (source) & GRL_OP_RESOLVE) {
+ keys = grl_metadata_key_list_new (GRL_METADATA_KEY_URL, NULL);
+- grl_media_source_metadata (source,
+- priv->media,
+- keys,
+- GRL_RESOLVE_IDLE_RELAY | GRL_RESOLVE_FULL,
+- mex_grilo_program_get_stream_cb,
+- closure);
++ grl_source_resolve (source,
++ priv->media,
++ keys,
++ GRL_RESOLVE_IDLE_RELAY | GRL_RESOLVE_FULL,
++ mex_grilo_program_get_stream_cb,
++ closure);
+ g_list_free (keys);
+ }
+ else
+@@ -305,7 +304,7 @@ static void
+ mex_grilo_program_complete (MexProgram *program)
+ {
+ GList *keys = NULL;
+- GrlMediaSource *source = NULL;
++ GrlSource *source = NULL;
+
+ MexGriloProgram *self = MEX_GRILO_PROGRAM (program);
+ MexGriloProgramPrivate *priv = self->priv;
+@@ -323,11 +322,11 @@ mex_grilo_program_complete (MexProgram *
+ if (!source)
+ return;
+
+- if (!GRL_IS_METADATA_SOURCE (source))
++ if (!GRL_IS_SOURCE (source))
+ return;
+
+- if (!(grl_metadata_source_supported_operations (GRL_METADATA_SOURCE (source))
+- & GRL_OP_METADATA))
++ if (!(grl_source_supported_operations (GRL_SOURCE (source))
++ & GRL_OP_RESOLVE))
+ return;
+
+ priv->in_update = TRUE;
+@@ -364,7 +363,7 @@ mex_grilo_program_save_metadata (MexCont
+ {
+ MexGriloProgram *program = MEX_GRILO_PROGRAM (content);
+ MexGriloProgramPrivate *priv = program->priv;
+- GrlMediaSource *source;
++ GrlSource *source;
+ const GList *ckeys;
+ GList *keys;
+
+@@ -372,18 +371,18 @@ mex_grilo_program_save_metadata (MexCont
+ "grilo-source", &source,
+ NULL);
+
+- if (!(grl_metadata_source_supported_operations (GRL_METADATA_SOURCE (source))
+- & GRL_OP_SET_METADATA))
++ if (!(grl_source_supported_operations (GRL_SOURCE (source))
++ & GRL_OP_STORE_METADATA))
+ goto goout;
+
+- ckeys = grl_metadata_source_writable_keys (GRL_METADATA_SOURCE (source));
++ ckeys = grl_source_writable_keys (GRL_SOURCE (source));
+ keys = g_list_copy ((GList *) ckeys);
+
+- grl_metadata_source_set_metadata (GRL_METADATA_SOURCE (source),
+- priv->media,
+- keys,
+- GRL_WRITE_NORMAL,
+- NULL, NULL);
++ grl_source_store_metadata (GRL_SOURCE (source),
++ priv->media,
++ keys,
++ GRL_WRITE_NORMAL,
++ NULL, NULL);
+
+ g_list_free (keys);
+
+@@ -499,7 +498,7 @@ mex_grilo_program_get_default_keys (void
+ GRL_METADATA_KEY_MIME,
+ GRL_METADATA_KEY_URL,
+ GRL_METADATA_KEY_THUMBNAIL,
+- GRL_METADATA_KEY_DATE,
++ GRL_METADATA_KEY_PUBLICATION_DATE,
+ GRL_METADATA_KEY_DURATION,
+ GRL_METADATA_KEY_WIDTH,
+ GRL_METADATA_KEY_HEIGHT,
+diff -up media-explorer-0.4.0/mex/mex-grilo-tracker-feed.c.grilo02
media-explorer-0.4.0/mex/mex-grilo-tracker-feed.c
+--- media-explorer-0.4.0/mex/mex-grilo-tracker-feed.c.grilo02 2012-02-13
05:47:20.000000000 -0500
++++ media-explorer-0.4.0/mex/mex-grilo-tracker-feed.c 2012-08-30 12:21:31.319024696
-0400
+@@ -26,7 +26,7 @@ enum {
+
+ struct _MexGriloTrackerFeedPrivate {
+ GrlMedia *root;
+- GrlMediaSource *source;
++ GrlSource *source;
+ gchar *filter;
+ GList *keys;
+ };
+@@ -43,20 +43,20 @@ G_DEFINE_TYPE (MexGriloTrackerFeed, mex_
+ static guint _mex_grilo_tracker_feed_browse (MexGriloFeed *feed,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback);
++ GrlSourceResultCb callback);
+ static guint _mex_grilo_tracker_feed_query (MexGriloFeed *feed,
+ const char *query,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback);
++ GrlSourceResultCb callback);
+ static guint _mex_grilo_tracker_feed_search (MexGriloFeed *feed,
+ const char *search_text,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback);
+-static void _mex_grilo_tracker_feed_content_updated (GrlMediaSource *source,
++ GrlSourceResultCb callback);
++static void _mex_grilo_tracker_feed_content_updated (GrlSource *source,
+ GPtrArray
*changed_medias,
+- GrlMediaSourceChangeType
change_type,
++ GrlSourceChangeType
change_type,
+ gboolean
known_location,
+ MexGriloFeed *feed);
+
+@@ -179,7 +179,7 @@ mex_grilo_tracker_feed_init (MexGriloTra
+ }
+
+ MexFeed *
+-mex_grilo_tracker_feed_new (GrlMediaSource *source,
++mex_grilo_tracker_feed_new (GrlSource *source,
+ const GList *query_keys,
+ const GList *metadata_keys,
+ const gchar *filter,
+@@ -195,7 +195,7 @@ mex_grilo_tracker_feed_new (GrlMediaSour
+ }
+
+ static void
+-item_cb (GrlMediaSource *source,
++item_cb (GrlSource *source,
+ guint id,
+ GrlMedia *media,
+ guint remaining,
+@@ -222,7 +222,7 @@ item_cb (GrlMediaSource *source,
+ const gchar *source_name;
+
+ source_name =
+- grl_metadata_source_get_name (GRL_METADATA_SOURCE (priv->source));
++ grl_source_get_name (priv->source);
+ g_warning ("FIXME: oh no, a grilo bug! (on the '%s' source)",
+ source_name);
+ return;
+@@ -313,6 +313,8 @@ filter_media (MexGriloTrackerFeed *feed,
+ const MexGriloOperation *op;
+ gchar *query_text = NULL, *query_final = NULL;
+ const gchar *str_id = grl_media_get_id (media);
++ GrlOperationOptions *options;
++ GrlCaps *caps;
+
+ if (!str_id) {
+ g_warning ("Cannot filter media without id");
+@@ -328,11 +330,16 @@ filter_media (MexGriloTrackerFeed *feed,
+ query_final = g_strdup_printf ("%s . FILTER(tracker:id(?urn) = %s)",
+ query_text, str_id);
+
+- grl_media_source_query (priv->source, query_final,
+- priv->keys,
+- 0, 1,
+- BROWSE_FLAGS,
+- item_cb, feed);
++ caps = grl_source_get_caps (priv->source, GRL_OP_QUERY);
++ options = grl_operation_options_new(caps);
++ grl_operation_options_set_skip (options, 0);
++ grl_operation_options_set_count (options, 1);
++ grl_operation_options_set_flags (options, BROWSE_FLAGS);
++
++ grl_source_query (priv->source, query_final,
++ priv->keys,
++ options,
++ item_cb, feed);
+
+ g_free (query_final);
+ g_free (query_text);
+@@ -342,20 +349,27 @@ static guint
+ _mex_grilo_tracker_feed_browse (MexGriloFeed *feed,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback)
++ GrlSourceResultCb callback)
+ {
+ MexGriloTrackerFeed *self = MEX_GRILO_TRACKER_FEED (feed);
+ MexGriloTrackerFeedPrivate *priv = self->priv;
+ gchar *text;
+ guint id;
++ GrlOperationOptions *options;
++ GrlCaps *caps;
+
+ text = get_filter_from_operation (MEX_GRILO_TRACKER_FEED (feed),
+ NULL,
+ MEX_GRILO_FEED_OPERATION_BROWSE);
+
+- id = grl_media_source_query (priv->source, text, priv->keys,
+- offset, limit,
+- BROWSE_FLAGS, callback, feed);
++ caps = grl_source_get_caps (priv->source, GRL_OP_QUERY);
++ options = grl_operation_options_new (caps);
++ grl_operation_options_set_skip (options, offset);
++ grl_operation_options_set_count (options, limit);
++ grl_operation_options_set_flags (options, BROWSE_FLAGS);
++
++ id = grl_source_query (priv->source, text, priv->keys,
++ options, callback, feed);
+
+ g_free (text);
+
+@@ -367,20 +381,27 @@ _mex_grilo_tracker_feed_query (MexGriloF
+ const char *query,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback)
++ GrlSourceResultCb callback)
+ {
+ MexGriloTrackerFeed *self = MEX_GRILO_TRACKER_FEED (feed);
+ MexGriloTrackerFeedPrivate *priv = self->priv;
+ gchar *text;
+ guint id;
++ GrlOperationOptions *options;
++ GrlCaps *caps;
+
+ text = get_filter_from_operation (MEX_GRILO_TRACKER_FEED (feed),
+ query,
+ MEX_GRILO_FEED_OPERATION_QUERY);
+
+- id = grl_media_source_query (priv->source, text, priv->keys,
+- offset, limit,
+- BROWSE_FLAGS, callback, feed);
++ caps = grl_source_get_caps (priv->source, GRL_OP_QUERY);
++ options = grl_operation_options_new (caps);
++ grl_operation_options_set_skip (options, offset);
++ grl_operation_options_set_count (options, limit);
++ grl_operation_options_set_flags (options, BROWSE_FLAGS);
++
++ id = grl_source_query (priv->source, text, priv->keys,
++ options, callback, feed);
+
+ g_free (text);
+
+@@ -392,20 +413,27 @@ _mex_grilo_tracker_feed_search (MexGrilo
+ const char *search_text,
+ int offset,
+ int limit,
+- GrlMediaSourceResultCb callback)
++ GrlSourceResultCb callback)
+ {
+ MexGriloTrackerFeed *self = MEX_GRILO_TRACKER_FEED (feed);
+ MexGriloTrackerFeedPrivate *priv = self->priv;
+ gchar *text;
+ guint id;
++ GrlOperationOptions *options;
++ GrlCaps *caps;
+
+ text = get_filter_from_operation (MEX_GRILO_TRACKER_FEED (feed),
+ search_text,
+ MEX_GRILO_FEED_OPERATION_SEARCH);
+
+- id = grl_media_source_query (priv->source, text, priv->keys,
+- offset, limit,
+- BROWSE_FLAGS, callback, feed);
++ caps = grl_source_get_caps (priv->source, GRL_OP_QUERY);
++ options = grl_operation_options_new (caps);
++ grl_operation_options_set_skip (options, offset);
++ grl_operation_options_set_count (options, limit);
++ grl_operation_options_set_flags (options, BROWSE_FLAGS);
++
++ id = grl_source_query (priv->source, text, priv->keys,
++ options, callback, feed);
+
+ g_free (text);
+
+@@ -413,9 +441,9 @@ _mex_grilo_tracker_feed_search (MexGrilo
+ }
+
+ static void
+-_mex_grilo_tracker_feed_content_updated (GrlMediaSource *source,
++_mex_grilo_tracker_feed_content_updated (GrlSource *source,
+ GPtrArray *changed_medias,
+- GrlMediaSourceChangeType change_type,
++ GrlSourceChangeType change_type,
+ gboolean known_location,
+ MexGriloFeed *feed)
+ {
+diff -up media-explorer-0.4.0/mex/mex-grilo-tracker-feed.h.grilo02
media-explorer-0.4.0/mex/mex-grilo-tracker-feed.h
+--- media-explorer-0.4.0/mex/mex-grilo-tracker-feed.h.grilo02 2012-02-13
05:47:20.000000000 -0500
++++ media-explorer-0.4.0/mex/mex-grilo-tracker-feed.h 2012-08-30 12:21:31.319024696
-0400
+@@ -64,7 +64,7 @@ struct _MexGriloTrackerFeedClass
+
+ GType mex_grilo_tracker_feed_get_type (void) G_GNUC_CONST;
+
+-MexFeed *mex_grilo_tracker_feed_new (GrlMediaSource *source,
++MexFeed *mex_grilo_tracker_feed_new (GrlSource *source,
+ const GList *query_keys,
+ const GList *metadata_keys,
+ const gchar *filter,
+diff -up media-explorer-0.4.0/mex/mex-main.c.grilo02 media-explorer-0.4.0/mex/mex-main.c
+--- media-explorer-0.4.0/mex/mex-main.c.grilo02 2012-03-08 11:41:23.000000000 -0500
++++ media-explorer-0.4.0/mex/mex-main.c 2012-08-30 12:21:31.319024696 -0400
+@@ -82,14 +82,14 @@ mex_init_default_categories (void)
+
+
+ static void
+-grilo_load_default_plugins (GrlPluginRegistry *registry)
++grilo_load_default_plugins (GrlRegistry *registry)
+ {
+- grl_plugin_registry_load_by_id (registry, "grl-tracker", NULL);
++ grl_registry_load_plugin_by_id (registry, "grl-tracker", NULL);
+
+- grl_plugin_registry_load_by_id (registry, "grl-upnp", NULL);
+- grl_plugin_registry_load_by_id (registry, "grl-filesystem", NULL);
++ grl_registry_load_plugin_by_id (registry, "grl-upnp", NULL);
++ grl_registry_load_plugin_by_id (registry, "grl-filesystem", NULL);
+
+- grl_plugin_registry_load_by_id (registry, "grl-lastfm-albumart", NULL);
++ grl_registry_load_plugin_by_id (registry, "grl-lastfm-albumart", NULL);
+ }
+
+ /**
+@@ -100,16 +100,16 @@ grilo_load_default_plugins (GrlPluginReg
+ static void
+ mex_init_load_grilo_plugins (void)
+ {
+- GrlPluginRegistry *registry;
++ GrlRegistry *registry;
+ GError *error = NULL;
+ gchar *settings;
+
+- registry = grl_plugin_registry_get_default ();
++ registry = grl_registry_get_default ();
+
+ settings = mex_settings_find_config_file (mex_settings_get_default (),
+ "grilo-system.conf");
+ if (settings)
+- grl_plugin_registry_add_config_from_file (registry, settings, NULL);
++ grl_registry_add_config_from_file (registry, settings, NULL);
+ g_free (settings);
+
+
+@@ -142,7 +142,7 @@ mex_init_load_grilo_plugins (void)
+
+ for (i=0; enabled_plugins[i]; i++)
+ {
+- if (!grl_plugin_registry_load_by_id (registry,
++ if (!grl_registry_load_plugin_by_id (registry,
+ enabled_plugins[i],
+ &error))
+ {
+diff -up media-explorer-0.4.0/mex/mex-queue-button.c.grilo02
media-explorer-0.4.0/mex/mex-queue-button.c
+--- media-explorer-0.4.0/mex/mex-queue-button.c.grilo02 2012-03-15 11:23:10.000000000
-0400
++++ media-explorer-0.4.0/mex/mex-queue-button.c 2012-08-30 12:21:31.320024696 -0400
+@@ -182,7 +182,7 @@ _add_from_directory (MexQueueButton *q_b
+ {
+ MexQueueButtonPrivate *priv = q_button->priv;
+ MexFeed *feed;
+- GrlMediaSource *source;
++ GrlSource *source;
+ GList *metadata_keys;
+ GList *query_keys;
+
+diff -up media-explorer-0.4.0/plugins/library/mex-library-plugin.c.grilo02
media-explorer-0.4.0/plugins/library/mex-library-plugin.c
+--- media-explorer-0.4.0/plugins/library/mex-library-plugin.c.grilo02 2012-02-13
05:47:20.000000000 -0500
++++ media-explorer-0.4.0/plugins/library/mex-library-plugin.c 2012-08-30
12:21:31.320024696 -0400
+@@ -86,7 +86,7 @@ mex_model_provider_iface_init (MexModelP
+ }
+
+ static GrlMedia *
+-mex_library_plugin_get_box_for_path (GrlMediaSource *source,
++mex_library_plugin_get_box_for_path (GrlSource *source,
+ const GList *keys,
+ const gchar *path)
+ {
+diff -up media-explorer-0.4.0/plugins/recommended/mex-recommended-plugin.c.grilo02
media-explorer-0.4.0/plugins/recommended/mex-recommended-plugin.c
+--- media-explorer-0.4.0/plugins/recommended/mex-recommended-plugin.c.grilo02 2012-08-30
12:25:28.607028257 -0400
++++ media-explorer-0.4.0/plugins/recommended/mex-recommended-plugin.c 2012-08-30
12:26:50.817029491 -0400
+@@ -150,18 +150,18 @@ mex_recommended_plugin_model_changed_cb
+ static void
+ mex_recommended_plugin_init (MexRecommendedPlugin *self)
+ {
+- GrlMediaPlugin *plugin;
+- GrlPluginRegistry *registry;
++ GrlPlugin *plugin;
++ GrlRegistry *registry;
+
+ MexRecommendedPluginPrivate *priv = self->priv =
+ RECOMMENDED_PLUGIN_PRIVATE (self);
+
+- registry = grl_plugin_registry_get_default ();
++ registry = grl_registry_get_default ();
+
+- plugin = grl_plugin_registry_lookup_source (registry,
"grl-apple-trailers");
++ plugin = grl_registry_lookup_source (registry, "grl-apple-trailers");
+ if (plugin)
+ {
+- MexFeed *feed = mex_grilo_feed_new (GRL_MEDIA_SOURCE (plugin), NULL, NULL, NULL);
++ MexFeed *feed = mex_grilo_feed_new (GRL_SOURCE (plugin), NULL, NULL, NULL);
+ GController *controller = mex_model_get_controller (MEX_MODEL (feed));
+ g_object_set (feed, "icon-name", "icon-recommended",
"category",
+ "Recommended", NULL);
+diff -up media-explorer-0.4.0/plugins/search/mex-search-plugin.c.grilo02
media-explorer-0.4.0/plugins/search/mex-search-plugin.c
+--- media-explorer-0.4.0/plugins/search/mex-search-plugin.c.grilo02 2012-08-30
12:28:07.835030649 -0400
++++ media-explorer-0.4.0/plugins/search/mex-search-plugin.c 2012-08-30 12:31:58.404034106
-0400
+@@ -357,20 +357,20 @@ mex_search_plugin_search (MexSearchPlugi
+ mex_aggregate_model_clear (MEX_AGGREGATE_MODEL (priv->search_model));
+
+ /* Iterate over searchable Grilo sources */
+- list = grl_plugin_registry_get_sources (grl_plugin_registry_get_default (),
++ list = grl_registry_get_sources (grl_registry_get_default (),
+ FALSE);
+
+ /* find the local files source and place it first */
+ for (l = list; l; l = l->next)
+ {
+- GrlMetadataSource *meta_src = l->data;
+- const gchar *name = grl_metadata_source_get_name (meta_src);
++ GrlSource *meta_src = l->data;
++ const gchar *name = grl_source_get_name (meta_src);
+ const gchar *source_id;
+
+- if (!GRL_IS_METADATA_SOURCE (meta_src))
++ if (!GRL_IS_SOURCE (meta_src))
+ continue;
+
+- source_id = grl_media_plugin_get_id (GRL_MEDIA_PLUGIN (meta_src));
++ source_id = grl_plugin_get_id (GRL_PLUGIN (meta_src));
+
+ if (source_id && g_str_equal (source_id, "grl-tracker"))
+ have_tracker = TRUE;
+@@ -389,13 +389,13 @@ mex_search_plugin_search (MexSearchPlugi
+ {
+ for (l = list; l; l = l->next)
+ {
+- GrlMetadataSource *meta_src = l->data;
++ GrlSource *meta_src = l->data;
+ const gchar *source_id;
+
+- if (!GRL_IS_METADATA_SOURCE (meta_src))
++ if (!GRL_IS_SOURCE (meta_src))
+ continue;
+
+- source_id = grl_media_plugin_get_id (GRL_MEDIA_PLUGIN (meta_src));
++ source_id = grl_plugin_get_id (GRL_PLUGIN (meta_src));
+
+ if (source_id && g_str_equal (source_id, "grl-filesystem"))
+ {
+@@ -410,26 +410,26 @@ mex_search_plugin_search (MexSearchPlugi
+ {
+ const gchar *source_id;
+ GrlSupportedOps supported;
+- GrlMetadataSource *meta_src = l->data;
++ GrlSource *meta_src = l->data;
+
+- if (!GRL_IS_METADATA_SOURCE (meta_src))
++ if (!GRL_IS_SOURCE (meta_src))
+ continue;
+
+ /* only search upnp and tracker sources */
+- source_id = grl_media_plugin_get_id (GRL_MEDIA_PLUGIN (meta_src));
++ source_id = grl_plugin_get_id (GRL_PLUGIN (meta_src));
+
+- supported = grl_metadata_source_supported_operations (meta_src);
++ supported = grl_source_supported_operations (meta_src);
+ if ((supported & GRL_OP_SEARCH) || (supported & GRL_OP_QUERY))
+ {
+ MexFeed *feed;
+ GController *controller;
+
+ if (g_str_equal (source_id, "grl-tracker"))
+- feed = mex_grilo_tracker_feed_new (GRL_MEDIA_SOURCE (meta_src),
++ feed = mex_grilo_tracker_feed_new (GRL_SOURCE (meta_src),
+ NULL, NULL, NULL, NULL);
+ else
+ feed =
+- mex_grilo_feed_new (GRL_MEDIA_SOURCE (meta_src), NULL, NULL, NULL);
++ mex_grilo_feed_new (GRL_SOURCE (meta_src), NULL, NULL, NULL);
+ mex_model_set_sort_func (MEX_MODEL (feed),
+ mex_model_sort_time_cb,
+ GINT_TO_POINTER (TRUE));
+diff -up media-explorer-0.4.0/plugins/tracker/mex-tracker-plugin.c.grilo02
media-explorer-0.4.0/plugins/tracker/mex-tracker-plugin.c
+--- media-explorer-0.4.0/plugins/tracker/mex-tracker-plugin.c.grilo02 2012-03-06
10:40:01.000000000 -0500
++++ media-explorer-0.4.0/plugins/tracker/mex-tracker-plugin.c 2012-08-30
17:26:14.279299033 -0400
+@@ -143,7 +143,7 @@ mex_tracker_plugin_class_init (MexTracke
+
+ static void
+ add_model (MexTrackerPlugin *self,
+- GrlMediaPlugin *plugin,
++ GrlPlugin *plugin,
+ MexTrackerCategory category)
+ {
+ GList *metadata_keys, *query_keys;
+@@ -151,7 +151,7 @@ add_model (MexTrackerPlugin *self,
+ GrlMedia *box;
+ gchar *query, *cat_name;
+ GHashTable *models;
+- const gchar *source_name = grl_metadata_source_get_name (GRL_METADATA_SOURCE
(plugin));
++ const gchar *source_name = grl_source_get_name (GRL_SOURCE (plugin));
+ gint priority;
+
+ switch (category)
+@@ -193,7 +193,7 @@ add_model (MexTrackerPlugin *self,
+ }
+
+ grl_media_set_id (GRL_MEDIA (box), NULL);
+- feed = mex_grilo_tracker_feed_new (GRL_MEDIA_SOURCE (plugin),
++ feed = mex_grilo_tracker_feed_new (GRL_SOURCE (plugin),
+ query_keys,
+ metadata_keys,
+ NULL, box);
+@@ -210,7 +210,7 @@ add_model (MexTrackerPlugin *self,
+ else
+ priority = 0;
+
+- dir_feed = mex_grilo_tracker_feed_new (GRL_MEDIA_SOURCE (plugin),
++ dir_feed = mex_grilo_tracker_feed_new (GRL_SOURCE (plugin),
+ query_keys,
+ metadata_keys,
+ query, NULL);
+@@ -230,21 +230,21 @@ add_model (MexTrackerPlugin *self,
+ }
+
+ static void
+-handle_new_source_plugin (MexTrackerPlugin *self, GrlMediaPlugin *plugin)
++handle_new_source_plugin (MexTrackerPlugin *self, GrlPlugin *plugin)
+ {
+ GrlSupportedOps ops;
+- GrlMetadataSource *meta = GRL_METADATA_SOURCE (plugin);
++ GrlSource *meta = GRL_SOURCE (plugin);
+ const char *id;
+
+- id = grl_media_plugin_get_id (plugin);
++ id = grl_plugin_get_id (plugin);
+ if (g_strcmp0 (id, "grl-tracker") != 0)
+ return;
+
+- ops = grl_metadata_source_supported_operations (meta);
++ ops = grl_source_supported_operations (meta);
+ if ((ops & GRL_OP_QUERY) == 0)
+ return;
+
+- grl_media_source_notify_change_start (GRL_MEDIA_SOURCE (plugin), NULL);
++ grl_source_notify_change_start (GRL_SOURCE (plugin), NULL);
+
+ add_model (self, plugin, MEX_TRACKER_CATEGORY_VIDEO);
+ add_model (self, plugin, MEX_TRACKER_CATEGORY_IMAGE);
+@@ -252,8 +252,8 @@ handle_new_source_plugin (MexTrackerPlug
+ }
+
+ static void
+-registry_source_added_cb (GrlPluginRegistry *registry,
+- GrlMediaPlugin *source,
++registry_source_added_cb (GrlRegistry *registry,
++ GrlPlugin *source,
+ MexTrackerPlugin *plugin)
+ {
+ handle_new_source_plugin (plugin, source);
+@@ -262,19 +262,19 @@ registry_source_added_cb (GrlPluginRegis
+ /*static int
+ source_compare (gconstpointer listdata, gconstpointer userdata)
+ {
+- GrlMediaSource *user_source, *list_source;
++ GrlSource *user_source, *list_source;
+
+ g_object_get (MEX_GRILO_FEED (listdata),
+ "grilo-source", &list_source,
+ NULL);
+- user_source = GRL_MEDIA_SOURCE (userdata);
++ user_source = GRL_SOURCE (userdata);
+
+ return (user_source == list_source) ? 0 : -1;
+ }*/
+
+ static void
+-registry_source_removed_cb (GrlPluginRegistry *registry,
+- GrlMediaPlugin *source,
++registry_source_removed_cb (GrlRegistry *registry,
++ GrlPlugin *source,
+ MexTrackerPlugin *self)
+ {
+ MexTrackerPluginPrivate *priv = self->priv;
+@@ -306,7 +306,7 @@ static void
+ mex_tracker_plugin_init (MexTrackerPlugin *self)
+ {
+ MexTrackerPluginPrivate *priv;
+- GrlPluginRegistry *registry;
++ GrlRegistry *registry;
+ GList *plugins, *iter;
+
+ priv = self->priv = GET_PRIVATE (self);
+@@ -322,7 +322,7 @@ mex_tracker_plugin_init (MexTrackerPlugi
+ GRL_METADATA_KEY_TITLE,
+ GRL_METADATA_KEY_MIME,
+ GRL_METADATA_KEY_URL,
+- GRL_METADATA_KEY_DATE,
++
GRL_METADATA_KEY_PUBLICATION_DATE,
+ GRL_METADATA_KEY_THUMBNAIL,
+ GRL_METADATA_KEY_PLAY_COUNT,
+ NULL);
+@@ -331,7 +331,7 @@ mex_tracker_plugin_init (MexTrackerPlugi
+ GRL_METADATA_KEY_TITLE,
+ GRL_METADATA_KEY_MIME,
+ GRL_METADATA_KEY_URL,
+- GRL_METADATA_KEY_DATE,
++
GRL_METADATA_KEY_PUBLICATION_DATE,
+ GRL_METADATA_KEY_THUMBNAIL,
+ GRL_METADATA_KEY_PLAY_COUNT,
+ NULL);
+@@ -340,7 +340,7 @@ mex_tracker_plugin_init (MexTrackerPlugi
+ GRL_METADATA_KEY_TITLE,
+ GRL_METADATA_KEY_MIME,
+ GRL_METADATA_KEY_URL,
+- GRL_METADATA_KEY_DATE,
++
GRL_METADATA_KEY_PUBLICATION_DATE,
+ GRL_METADATA_KEY_THUMBNAIL,
+ GRL_METADATA_KEY_PLAY_COUNT,
+ GRL_METADATA_KEY_ALBUM,
+@@ -383,10 +383,10 @@ mex_tracker_plugin_init (MexTrackerPlugi
+ /* log domain */
+ MEX_LOG_DOMAIN_INIT (tracker_log_domain, "tracker");
+
+- registry = grl_plugin_registry_get_default ();
+- plugins = grl_plugin_registry_get_sources (registry, FALSE);
++ registry = grl_registry_get_default ();
++ plugins = grl_registry_get_sources (registry, FALSE);
+ for (iter = plugins; iter != NULL; iter = iter->next)
+- handle_new_source_plugin (self, GRL_MEDIA_PLUGIN (iter->data));
++ handle_new_source_plugin (self, GRL_PLUGIN (iter->data));
+ g_list_free (plugins);
+
+ g_signal_connect (registry, "source-added",
+diff -up media-explorer-0.4.0/plugins/upnp/mex-upnp-plugin.c.grilo02
media-explorer-0.4.0/plugins/upnp/mex-upnp-plugin.c
+--- media-explorer-0.4.0/plugins/upnp/mex-upnp-plugin.c.grilo02 2012-08-30
12:32:23.386034481 -0400
++++ media-explorer-0.4.0/plugins/upnp/mex-upnp-plugin.c 2012-08-30 12:34:55.848036767
-0400
+@@ -106,7 +106,7 @@ mex_upnp_plugin_class_init (MexUpnpPlugi
+
+ static void
+ add_model (MexUpnpPlugin *self,
+- GrlMediaPlugin *plugin,
++ GrlPlugin *plugin,
+ MexUpnpCategory category)
+ {
+ GList *metadata_keys;
+@@ -136,7 +136,7 @@ add_model (MexUpnpPlugin *self,
+ }
+
+ grl_media_set_id (GRL_MEDIA (box), NULL);
+- feed = mex_grilo_feed_new (GRL_MEDIA_SOURCE (plugin),
++ feed = mex_grilo_feed_new (GRL_SOURCE (plugin),
+ self->priv->query_keys,
+ metadata_keys, box);
+ mex_model_set_sort_func (MEX_MODEL (feed),
+@@ -154,17 +154,17 @@ add_model (MexUpnpPlugin *self,
+ }
+
+ static void
+-handle_new_source_plugin (MexUpnpPlugin *self, GrlMediaPlugin *plugin)
++handle_new_source_plugin (MexUpnpPlugin *self, GrlPlugin *plugin)
+ {
+ GrlSupportedOps ops;
+- GrlMetadataSource *meta = GRL_METADATA_SOURCE (plugin);
++ GrlSource *meta = GRL_SOURCE (plugin);
+ const char *id;
+
+- id = grl_media_plugin_get_id (plugin);
++ id = grl_plugin_get_id (plugin);
+ if (g_strcmp0 (id,"grl-upnp") != 0)
+ return;
+
+- ops = grl_metadata_source_supported_operations (meta);
++ ops = grl_source_supported_operations (meta);
+ if ((ops & GRL_OP_QUERY) == 0)
+ {
+ g_warning ("UPnP source does not support Query, skipping for now");
+@@ -176,16 +176,16 @@ handle_new_source_plugin (MexUpnpPlugin
+ }
+
+ static void
+-registry_source_added_cb (GrlPluginRegistry *registry,
+- GrlMediaPlugin *source,
++registry_source_added_cb (GrlRegistry *registry,
++ GrlPlugin *source,
+ MexUpnpPlugin *plugin)
+ {
+ handle_new_source_plugin (plugin, source);
+ }
+
+ static void
+-registry_source_removed_cb (GrlPluginRegistry *registry,
+- GrlMediaPlugin *source,
++registry_source_removed_cb (GrlRegistry *registry,
++ GrlPlugin *source,
+ MexUpnpPlugin *self)
+ {
+ MexUpnpPluginPrivate *priv = self->priv;
+@@ -210,7 +210,7 @@ static void
+ mex_upnp_plugin_init (MexUpnpPlugin *self)
+ {
+ MexUpnpPluginPrivate *priv;
+- GrlPluginRegistry *registry;
++ GrlRegistry *registry;
+ GList *plugins, *iter;
+
+ priv = self->priv = GET_PRIVATE (self);
+@@ -224,7 +224,7 @@ mex_upnp_plugin_init (MexUpnpPlugin *se
+ GRL_METADATA_KEY_TITLE,
+ GRL_METADATA_KEY_MIME,
+ GRL_METADATA_KEY_URL,
+- GRL_METADATA_KEY_DATE,
++ GRL_METADATA_KEY_PUBLICATION_DATE,
+ NULL);
+
+ priv->image_keys = grl_metadata_key_list_new (GRL_METADATA_KEY_ID,
+@@ -244,10 +244,10 @@ mex_upnp_plugin_init (MexUpnpPlugin *se
+
+ priv->manager = mex_model_manager_get_default ();
+
+- registry = grl_plugin_registry_get_default ();
+- plugins = grl_plugin_registry_get_sources (registry, FALSE);
++ registry = grl_registry_get_default ();
++ plugins = grl_registry_get_sources (registry, FALSE);
+ for (iter = plugins; iter != NULL; iter = iter->next)
+- handle_new_source_plugin (self, GRL_MEDIA_PLUGIN (iter->data));
++ handle_new_source_plugin (self, GRL_PLUGIN (iter->data));
+ g_list_free (plugins);
+
+ g_signal_connect (registry, "source-added",
+diff -up media-explorer-0.4.0/shell/mex-main.c.grilo02
media-explorer-0.4.0/shell/mex-main.c
+--- media-explorer-0.4.0/shell/mex-main.c.grilo02 2012-03-27 05:18:20.000000000 -0400
++++ media-explorer-0.4.0/shell/mex-main.c 2012-08-30 12:21:31.320024696 -0400
+@@ -474,7 +474,7 @@ mex_grilo_open_folder_cb (MxAction *acti
+ {
+ GrlMedia *media;
+ MexFeed *feed;
+- GrlMediaSource *source = NULL;
++ GrlSource *source = NULL;
+ gchar *filter = NULL;
+ MexModel *parent_model;
+ MexModel *parent_alt_model;
diff --git a/media-explorer.spec b/media-explorer.spec
index b306249..e6756bf 100644
--- a/media-explorer.spec
+++ b/media-explorer.spec
@@ -1,6 +1,6 @@
Name: media-explorer
Version: 0.4.0
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: Media center application
Group: Applications/Multimedia
@@ -11,12 +11,13 @@ License: LGPLv2+
#
https://github.com/media-explorer/media-explorer/wiki/Ideas
URL:
http://media-explorer.github.com/
Source0:
https://github.com/downloads/media-explorer/media-explorer/%{name}-%{vers...
+Patch0: media-explorer-0.4.0-grilo0.2.patch
BuildRequires: clutter-gst-devel
BuildRequires: dbus-glib-devel
BuildRequires: gdk-pixbuf2-devel
BuildRequires: glib2-devel
-BuildRequires: grilo-devel
+BuildRequires: grilo-devel >= 0.2
BuildRequires: intltool
BuildRequires: libmx-devel
BuildRequires: lirc-devel
@@ -40,6 +41,7 @@ targeted towards MeeGo.
%prep
%setup -q
+%patch0 -p1 -b .grilo02
# Needed to remove the rpaths
autoreconf -f
@@ -88,6 +90,9 @@ fi
%{_datadir}/media-explorer/
%changelog
+* Thu Aug 30 2012 Tom Callaway <spot(a)fedoraproject.org> - 0.4.0-3
+- rebuild for grilo 0.2
+
* Fri Jul 20 2012 Fedora Release Engineering <rel-eng(a)lists.fedoraproject.org> -
0.4.0-2
- Rebuilt for
https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild