[media-explorer/f18] rebuild for grilo 0.2.0

Bastien Nocera hadess at fedoraproject.org
Fri Sep 7 14:31:18 UTC 2012


commit ba8025b982835fa47526be71312870f7979db13c
Author: Tom Callaway <spot at 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}-%{version}.tar.xz
+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 at fedoraproject.org> - 0.4.0-3
+- rebuild for grilo 0.2
+
 * Fri Jul 20 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.4.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
 


More information about the scm-commits mailing list