Группа :: Звук
Пакет: grilo-plugins
Главная Изменения Спек Патчи Sources Загрузить Gear Bugs and FR Repocop
Патч: grilo-plugins-snapshot.patch
Скачать
Скачать
Makefile.am | 2 +-
configure.ac | 23 ++-
src/media/apple-trailers/grl-apple-trailers.c | 2 +-
src/media/bliptv/grl-bliptv.c | 1 +
src/media/bookmarks/grl-bookmarks.c | 2 +-
src/media/flickr/gflickr.h | 2 +-
src/media/flickr/grl-flickr.c | 2 +-
src/media/jamendo/grl-jamendo.c | 2 +-
src/media/shoutcast/grl-shoutcast.c | 172 +++++++++++++++-----
src/media/shoutcast/grl-shoutcast.h | 5 +-
src/media/tracker/grl-tracker-media-api.c | 1 +
src/media/tracker/grl-tracker-media-api.h | 1 +
src/media/tracker/grl-tracker-media-notif.c | 1 +
src/media/tracker/grl-tracker-media-priv.h | 1 +
src/media/tracker/grl-tracker-metadata.c | 1 +
src/media/tracker/grl-tracker-utils.c | 1 +
src/media/upnp/grl-upnp.c | 50 ++----
src/media/vimeo/grl-vimeo.c | 2 +-
src/media/vimeo/gvimeo.c | 2 +-
src/media/youtube/grl-youtube.c | 2 +-
src/metadata/fake-metadata/grl-fake-metadata.c | 2 +-
src/metadata/gravatar/grl-gravatar.c | 2 +-
src/metadata/lastfm-albumart/grl-lastfm-albumart.c | 2 +-
src/metadata/metadata-store/grl-metadata-store.c | 2 +-
test/Makefile.am | 2 +-
test/main.c | 2 +-
26 files changed, 183 insertions(+), 104 deletions(-)
diff --git a/Makefile.am b/Makefile.am
index 5d0af2b..88b3866 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -3,7 +3,7 @@
#
# Author: Iago Toral Quiroga <itoral@igalia.com>
#
-# Copyright (C) 2010 Igalia S.L. All rights reserved.
+# Copyright (C) 2010, 2011 Igalia S.L. All rights reserved.
ACLOCAL_AMFLAGS = -I m4
diff --git a/configure.ac b/configure.ac
index 79e6791..71aceed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -134,11 +134,17 @@ PKG_CHECK_MODULES(GMIME, gmime-2.6,
HAVE_GMIME=yes,
HAVE_GMIME=no)])
-PKG_CHECK_MODULES(TRACKER_SPARQL, tracker-sparql-0.12,
+PKG_CHECK_MODULES(TRACKER_SPARQL, tracker-sparql-0.14,
HAVE_TRACKER_SPARQL=yes,
HAVE_TRACKER_SPARQL=no)
if test "x$HAVE_TRACKER_SPARQL" = "xno"; then
+ PKG_CHECK_MODULES(TRACKER_SPARQL, tracker-sparql-0.12,
+ HAVE_TRACKER_SPARQL=yes,
+ HAVE_TRACKER_SPARQL=no)
+fi
+
+if test "x$HAVE_TRACKER_SPARQL" = "xno"; then
PKG_CHECK_MODULES(TRACKER_SPARQL, tracker-sparql-0.11,
HAVE_TRACKER_SPARQL=yes,
HAVE_TRACKER_SPARQL=no)
@@ -498,7 +504,7 @@ AC_DEFINE_UNQUOTED([BOOKMARKS_PLUGIN_ID], ["$BOOKMARKS_PLUGIN_ID"], [Bookmarks p
AC_ARG_ENABLE(shoutcast,
AC_HELP_STRING([--enable-shoutcast],
- [enable SHOUTcast plugin (default: no)]),
+ [enable SHOUTcast plugin (default: auto)]),
[
case "$enableval" in
yes)
@@ -512,13 +518,12 @@ AC_ARG_ENABLE(shoutcast,
esac
],
[
- enable_shoutcast=no
-# Do not build SHOUTCast by default; it is broken
-# if test "x$HAVE_GRLNET" = "xyes" -a "x$HAVE_XML" = "xyes"; then
-# enable_shoutcast=yes
-# else
-# enable_shoutcast=no
-# fi
+ Do not build SHOUTCast by default; it is broken
+ if test "x$HAVE_GRLNET" = "xyes" -a "x$HAVE_XML" = "xyes"; then
+ enable_shoutcast=yes
+ else
+ enable_shoutcast=no
+ fi
])
AM_CONDITIONAL([SHOUTCAST_PLUGIN], [test "x$enable_shoutcast" = "xyes"])
diff --git a/src/media/apple-trailers/grl-apple-trailers.c b/src/media/apple-trailers/grl-apple-trailers.c
index 9977094..4ca2c4f 100644
--- a/src/media/apple-trailers/grl-apple-trailers.c
+++ b/src/media/apple-trailers/grl-apple-trailers.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
diff --git a/src/media/bliptv/grl-bliptv.c b/src/media/bliptv/grl-bliptv.c
index 78685dd..a534c1c 100644
--- a/src/media/bliptv/grl-bliptv.c
+++ b/src/media/bliptv/grl-bliptv.c
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
diff --git a/src/media/bookmarks/grl-bookmarks.c b/src/media/bookmarks/grl-bookmarks.c
index c6e5b16..482559c 100644
--- a/src/media/bookmarks/grl-bookmarks.c
+++ b/src/media/bookmarks/grl-bookmarks.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
*
diff --git a/src/media/flickr/gflickr.h b/src/media/flickr/gflickr.h
index dd583d8..fe0a679 100644
--- a/src/media/flickr/gflickr.h
+++ b/src/media/flickr/gflickr.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
*
diff --git a/src/media/flickr/grl-flickr.c b/src/media/flickr/grl-flickr.c
index a0d1e7f..cfc9c37 100644
--- a/src/media/flickr/grl-flickr.c
+++ b/src/media/flickr/grl-flickr.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
*
diff --git a/src/media/jamendo/grl-jamendo.c b/src/media/jamendo/grl-jamendo.c
index 97bda5c..4d29ec4 100644
--- a/src/media/jamendo/grl-jamendo.c
+++ b/src/media/jamendo/grl-jamendo.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
*
diff --git a/src/media/shoutcast/grl-shoutcast.c b/src/media/shoutcast/grl-shoutcast.c
index 57b2240..35776e2 100644
--- a/src/media/shoutcast/grl-shoutcast.c
+++ b/src/media/shoutcast/grl-shoutcast.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
*
@@ -33,8 +33,15 @@
#include "grl-shoutcast.h"
+#define GRL_SHOUTCAST_SOURCE_GET_PRIVATE(object) \
+ (G_TYPE_INSTANCE_GET_PRIVATE((object), \
+ GRL_SHOUTCAST_SOURCE_TYPE, \
+ GrlShoutcastSourcePriv))
+
#define EXPIRE_CACHE_TIMEOUT 300
+#define SHOUTCAST_DEV_KEY "dev-key"
+
/* --------- Logging -------- */
#define GRL_LOG_DOMAIN_DEFAULT shoutcast_log_domain
@@ -42,12 +49,13 @@ GRL_LOG_DOMAIN_STATIC(shoutcast_log_domain);
/* ------ SHOUTcast API ------ */
-#define SHOUTCAST_BASE_ENTRY "http://yp.shoutcast.com"
+#define SHOUTCAST_API_BASE_ENTRY "http://api.shoutcast.com/legacy/"
+#define SHOUTCAST_YP_BASE_ENTRY "http://yp.shoutcast.com/sbin/"
-#define SHOUTCAST_GET_GENRES SHOUTCAST_BASE_ENTRY "/sbin/newxml.phtml"
-#define SHOUTCAST_GET_RADIOS SHOUTCAST_GET_GENRES "?genre=%s&limit=%u"
-#define SHOUTCAST_SEARCH_RADIOS SHOUTCAST_GET_GENRES "?search=%s&limit=%u"
-#define SHOUTCAST_TUNE SHOUTCAST_BASE_ENTRY "/sbin/tunein-station.pls?id=%s"
+#define SHOUTCAST_GET_GENRES SHOUTCAST_API_BASE_ENTRY "genrelist?k=%s"
+#define SHOUTCAST_GET_RADIOS SHOUTCAST_API_BASE_ENTRY "genresearch?k=%s&genre=%s&limit=%u"
+#define SHOUTCAST_SEARCH_RADIOS SHOUTCAST_API_BASE_ENTRY "stationsearch?k=%s&search=%s&limit=%u"
+#define SHOUTCAST_TUNE SHOUTCAST_YP_BASE_ENTRY "tunein-station.pls?id=%s"
/* --- Plugin information --- */
@@ -57,6 +65,14 @@ GRL_LOG_DOMAIN_STATIC(shoutcast_log_domain);
#define SOURCE_NAME "SHOUTcast"
#define SOURCE_DESC "A source for browsing SHOUTcast radios"
+struct _GrlShoutcastSourcePriv {
+ gchar *dev_key;
+ GrlNetWc *wc;
+ GCancellable *cancellable;
+ gchar *cached_page;
+ gboolean cached_page_expired;
+};
+
typedef struct {
GrlMedia *media;
GrlMediaSource *source;
@@ -76,12 +92,7 @@ typedef struct {
xmlNodePtr xml_entries;
} OperationData;
-static GrlNetWc *wc = NULL;
-static GCancellable *cancellable;
-static gchar *cached_page = NULL;
-static gboolean cached_page_expired = TRUE;
-
-static GrlShoutcastSource *grl_shoutcast_source_new (void);
+static GrlShoutcastSource *grl_shoutcast_source_new (const gchar *dev_key);
gboolean grl_shoutcast_plugin_init (GrlPluginRegistry *registry,
const GrlPluginInfo *plugin,
@@ -101,7 +112,9 @@ static void grl_shoutcast_source_search (GrlMediaSource *source,
static void grl_shoutcast_source_cancel (GrlMetadataSource *source,
guint operation_id);
-static void read_url_async (const gchar *url, OperationData *op_data);
+static void read_url_async (GrlShoutcastSource *source,
+ const gchar *url,
+ OperationData *op_data);
static void grl_shoutcast_source_finalize (GObject *object);
@@ -112,15 +125,40 @@ grl_shoutcast_plugin_init (GrlPluginRegistry *registry,
const GrlPluginInfo *plugin,
GList *configs)
{
+ gchar *dev_key;
+ GrlConfig *config;
+ gint config_count;
+ GrlShoutcastSource *source;
+
GRL_LOG_DOMAIN_INIT (shoutcast_log_domain, "shoutcast");
GRL_DEBUG ("shoutcast_plugin_init");
- GrlShoutcastSource *source = grl_shoutcast_source_new ();
+ if (!configs) {
+ GRL_INFO ("Configuration not provided! Plugin not loaded");
+ return FALSE;
+ }
+
+ config_count = g_list_length (configs);
+ if (config_count > 1) {
+ GRL_INFO ("Provided %d configs, but will only use one", config_count);
+ }
+
+ config = GRL_CONFIG (configs->data);
+ dev_key = grl_config_get_string (config, SHOUTCAST_DEV_KEY);
+ if (!dev_key) {
+ GRL_INFO ("Missin API Dev Key, cannot load plugin");
+ return FALSE;
+ }
+
+ source = grl_shoutcast_source_new (dev_key);
grl_plugin_registry_register_source (registry,
plugin,
GRL_MEDIA_PLUGIN (source),
NULL);
+
+ g_free (dev_key);
+
return TRUE;
}
@@ -131,14 +169,21 @@ GRL_PLUGIN_REGISTER (grl_shoutcast_plugin_init,
/* ================== SHOUTcast GObject ================ */
static GrlShoutcastSource *
-grl_shoutcast_source_new (void)
+grl_shoutcast_source_new (const gchar *dev_key)
{
+ GrlShoutcastSource *source;
+
GRL_DEBUG ("grl_shoutcast_source_new");
- return g_object_new (GRL_SHOUTCAST_SOURCE_TYPE,
- "source-id", SOURCE_ID,
- "source-name", SOURCE_NAME,
- "source-desc", SOURCE_DESC,
- NULL);
+
+ source = g_object_new (GRL_SHOUTCAST_SOURCE_TYPE,
+ "source-id", SOURCE_ID,
+ "source-name", SOURCE_NAME,
+ "source-desc", SOURCE_DESC,
+ NULL);
+
+ source->priv->dev_key = g_strdup (dev_key);
+
+ return source;
}
static void
@@ -147,17 +192,24 @@ grl_shoutcast_source_class_init (GrlShoutcastSourceClass * klass)
GrlMediaSourceClass *source_class = GRL_MEDIA_SOURCE_CLASS (klass);
GrlMetadataSourceClass *metadata_class = GRL_METADATA_SOURCE_CLASS (klass);
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
source_class->metadata = grl_shoutcast_source_metadata;
source_class->browse = grl_shoutcast_source_browse;
source_class->search = grl_shoutcast_source_search;
+
metadata_class->cancel = grl_shoutcast_source_cancel;
metadata_class->supported_keys = grl_shoutcast_source_supported_keys;
+
gobject_class->finalize = grl_shoutcast_source_finalize;
+
+ g_type_class_add_private (klass, sizeof (GrlShoutcastSourcePriv));
}
static void
grl_shoutcast_source_init (GrlShoutcastSource *source)
{
+ source->priv = GRL_SHOUTCAST_SOURCE_GET_PRIVATE (source);
+ source->priv->cached_page_expired = TRUE;
}
G_DEFINE_TYPE (GrlShoutcastSource, grl_shoutcast_source, GRL_TYPE_MEDIA_SOURCE);
@@ -165,11 +217,22 @@ G_DEFINE_TYPE (GrlShoutcastSource, grl_shoutcast_source, GRL_TYPE_MEDIA_SOURCE);
static void
grl_shoutcast_source_finalize (GObject *object)
{
- if (wc && GRL_IS_NET_WC (wc))
- g_object_unref (wc);
+ GrlShoutcastSource *self = GRL_SHOUTCAST_SOURCE (object);
+
+ if (self->priv->wc && GRL_IS_NET_WC (self->priv->wc))
+ g_object_unref (self->priv->wc);
- if (cancellable && G_IS_CANCELLABLE (cancellable))
- g_cancellable_cancel (cancellable);
+ if (self->priv->cancellable && G_IS_CANCELLABLE (self->priv->cancellable))
+ g_cancellable_cancel (self->priv->cancellable);
+
+ if (self->priv->cached_page) {
+ g_free (self->priv->cached_page);
+ self->priv->cached_page = NULL;
+ }
+
+ if (self->priv->dev_key) {
+ g_free (self->priv->dev_key);
+ }
G_OBJECT_CLASS (grl_shoutcast_source_parent_class)->finalize (object);
}
@@ -469,8 +532,10 @@ xml_parse_result (const gchar *str, OperationData *op_data)
static gboolean
expire_cache (gpointer user_data)
{
+ GrlShoutcastSource *source = GRL_SHOUTCAST_SOURCE (user_data);
+
GRL_DEBUG ("Cached page expired");
- cached_page_expired = TRUE;
+ source->priv->cached_page_expired = TRUE;
return FALSE;
}
@@ -482,6 +547,7 @@ read_done_cb (GObject *source_object,
GError *error = NULL;
GError *wc_error = NULL;
OperationData *op_data = (OperationData *) user_data;
+ GrlShoutcastSource *source = GRL_SHOUTCAST_SOURCE (op_data->source);
gboolean cache;
gchar *content = NULL;
@@ -509,34 +575,39 @@ read_done_cb (GObject *source_object,
cache = op_data->cache;
xml_parse_result (content, op_data);
- if (cache && cached_page_expired) {
+ if (cache && source->priv->cached_page_expired) {
GRL_DEBUG ("Caching page");
- g_free (cached_page);
- cached_page = g_strdup (content);
- cached_page_expired = FALSE;
- g_timeout_add_seconds (EXPIRE_CACHE_TIMEOUT, expire_cache, NULL);
+ g_free (source->priv->cached_page);
+ source->priv->cached_page = g_strdup (content);
+ source->priv->cached_page_expired = FALSE;
+ g_timeout_add_seconds (EXPIRE_CACHE_TIMEOUT, expire_cache, source);
}
}
static gboolean
read_cached_page (OperationData *op_data)
{
+ gchar *cached_page = GRL_SHOUTCAST_SOURCE (op_data->source)->priv->cached_page;
xml_parse_result (cached_page, op_data);
return FALSE;
}
static void
-read_url_async (const gchar *url, OperationData *op_data)
+read_url_async (GrlShoutcastSource *source,
+ const gchar *url,
+ OperationData *op_data)
{
- if (op_data->cache && !cached_page_expired) {
+ if (op_data->cache && !source->priv->cached_page_expired) {
GRL_DEBUG ("Using cached page");
g_idle_add ((GSourceFunc) read_cached_page, op_data);
} else {
- if (!wc)
- wc = grl_net_wc_new ();
+ if (!source->priv->wc)
+ source->priv->wc = grl_net_wc_new ();
- cancellable = g_cancellable_new ();
- grl_net_wc_request_async (wc, url, cancellable, read_done_cb, op_data);
+ source->priv->cancellable = g_cancellable_new ();
+ grl_net_wc_request_async (source->priv->wc, url,
+ source->priv->cancellable,
+ read_done_cb, op_data);
}
}
@@ -566,6 +637,7 @@ grl_shoutcast_source_metadata (GrlMediaSource *source,
gchar **id_tokens;
gchar *url = NULL;
OperationData *data = NULL;
+ GrlShoutcastSource *shoutcast_source = GRL_SHOUTCAST_SOURCE (source);
/* Unfortunately, shoutcast does not have an API to get information about a
station. Thus, steps done to obtain the Content must be repeated. For
@@ -598,24 +670,27 @@ grl_shoutcast_source_metadata (GrlMediaSource *source,
/* Check if result is from a previous search */
if (id_tokens[0][0] == '?') {
url = g_strdup_printf (SHOUTCAST_SEARCH_RADIOS,
+ shoutcast_source->priv->dev_key,
id_tokens[0]+1,
G_MAXINT);
} else {
url = g_strdup_printf (SHOUTCAST_GET_RADIOS,
+ shoutcast_source->priv->dev_key,
id_tokens[0],
G_MAXINT);
}
} else {
data->filter_entry = g_strdup (id_tokens[0]);
data->cache = TRUE;
- url = g_strdup (SHOUTCAST_GET_GENRES);
+ url = g_strdup_printf (SHOUTCAST_GET_GENRES,
+ shoutcast_source->priv->dev_key);
}
g_strfreev (id_tokens);
}
if (url) {
- read_url_async (url, data);
+ read_url_async (shoutcast_source, url, data);
g_free (url);
} else {
ms->callback (ms->source, ms->metadata_id, ms->media, ms->user_data, NULL);
@@ -629,6 +704,7 @@ grl_shoutcast_source_browse (GrlMediaSource *source,
OperationData *data;
const gchar *container_id;
gchar *url;
+ GrlShoutcastSource *shoutcast_source = GRL_SHOUTCAST_SOURCE (source);
GRL_DEBUG ("grl_shoutcast_source_browse");
@@ -646,9 +722,11 @@ grl_shoutcast_source_browse (GrlMediaSource *source,
/* If it's root category send list of genres; else send list of radios */
if (!container_id) {
data->cache = TRUE;
- url = g_strdup (SHOUTCAST_GET_GENRES);
+ url = g_strdup_printf (SHOUTCAST_GET_GENRES,
+ shoutcast_source->priv->dev_key);
} else {
url = g_strdup_printf (SHOUTCAST_GET_RADIOS,
+ shoutcast_source->priv->dev_key,
container_id,
bs->skip + bs->count);
data->genre = g_strdup (container_id);
@@ -656,7 +734,7 @@ grl_shoutcast_source_browse (GrlMediaSource *source,
grl_operation_set_data (bs->browse_id, data);
- read_url_async (url, data);
+ read_url_async (shoutcast_source, url, data);
g_free (url);
}
@@ -668,6 +746,7 @@ grl_shoutcast_source_search (GrlMediaSource *source,
GError *error;
OperationData *data;
gchar *url;
+ GrlShoutcastSource *shoutcast_source = GRL_SHOUTCAST_SOURCE (source);
/* Check if there is text to search */
if (!ss->text || ss->text[0] == '\0') {
@@ -697,10 +776,11 @@ grl_shoutcast_source_search (GrlMediaSource *source,
grl_operation_set_data (ss->search_id, data);
url = g_strdup_printf (SHOUTCAST_SEARCH_RADIOS,
+ shoutcast_source->priv->dev_key,
ss->text,
ss->skip + ss->count);
- read_url_async (url, data);
+ read_url_async (GRL_SHOUTCAST_SOURCE (source), url, data);
g_free (url);
}
@@ -709,12 +789,16 @@ static void
grl_shoutcast_source_cancel (GrlMetadataSource *source, guint operation_id)
{
OperationData *op_data;
+ GrlShoutcastSourcePriv *priv;
GRL_DEBUG ("grl_shoutcast_source_cancel");
- if (cancellable && G_IS_CANCELLABLE (cancellable))
- g_cancellable_cancel (cancellable);
- cancellable = NULL;
+ priv = GRL_SHOUTCAST_SOURCE_GET_PRIVATE (source);
+
+ if (priv->cancellable && G_IS_CANCELLABLE (priv->cancellable)) {
+ g_cancellable_cancel (priv->cancellable);
+ }
+ priv->cancellable = NULL;
op_data = (OperationData *) grl_operation_get_data (operation_id);
diff --git a/src/media/shoutcast/grl-shoutcast.h b/src/media/shoutcast/grl-shoutcast.h
index 741fac0..7e89c15 100644
--- a/src/media/shoutcast/grl-shoutcast.h
+++ b/src/media/shoutcast/grl-shoutcast.h
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
*
@@ -54,11 +54,12 @@
GrlShoutcastSourceClass))
typedef struct _GrlShoutcastSource GrlShoutcastSource;
+typedef struct _GrlShoutcastSourcePriv GrlShoutcastSourcePriv;
struct _GrlShoutcastSource {
GrlMediaSource parent;
-
+ GrlShoutcastSourcePriv *priv;
};
typedef struct _GrlShoutcastSourceClass GrlShoutcastSourceClass;
diff --git a/src/media/tracker/grl-tracker-media-api.c b/src/media/tracker/grl-tracker-media-api.c
index 390e870..85de953 100644
--- a/src/media/tracker/grl-tracker-media-api.c
+++ b/src/media/tracker/grl-tracker-media-api.c
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
diff --git a/src/media/tracker/grl-tracker-media-api.h b/src/media/tracker/grl-tracker-media-api.h
index da635e7..604bfbb 100644
--- a/src/media/tracker/grl-tracker-media-api.h
+++ b/src/media/tracker/grl-tracker-media-api.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
diff --git a/src/media/tracker/grl-tracker-media-notif.c b/src/media/tracker/grl-tracker-media-notif.c
index 593a00f..5f42746 100644
--- a/src/media/tracker/grl-tracker-media-notif.c
+++ b/src/media/tracker/grl-tracker-media-notif.c
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
diff --git a/src/media/tracker/grl-tracker-media-priv.h b/src/media/tracker/grl-tracker-media-priv.h
index 5b4cffd..3836c99 100644
--- a/src/media/tracker/grl-tracker-media-priv.h
+++ b/src/media/tracker/grl-tracker-media-priv.h
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
diff --git a/src/media/tracker/grl-tracker-metadata.c b/src/media/tracker/grl-tracker-metadata.c
index dc22759..1924a48 100644
--- a/src/media/tracker/grl-tracker-metadata.c
+++ b/src/media/tracker/grl-tracker-metadata.c
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
diff --git a/src/media/tracker/grl-tracker-utils.c b/src/media/tracker/grl-tracker-utils.c
index 9c37c42..0832b21 100644
--- a/src/media/tracker/grl-tracker-utils.c
+++ b/src/media/tracker/grl-tracker-utils.c
@@ -1,4 +1,5 @@
/*
+ * Copyright (C) 2011 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
diff --git a/src/media/upnp/grl-upnp.c b/src/media/upnp/grl-upnp.c
index a8e990c..744fefb 100644
--- a/src/media/upnp/grl-upnp.c
+++ b/src/media/upnp/grl-upnp.c
@@ -925,7 +925,6 @@ gupnp_browse_cb (GUPnPServiceProxy *service,
gchar *didl = NULL;
guint returned = 0;
guint matches = 0;
- gboolean result;
struct OperationSpec *os;
GUPnPDIDLLiteParser *didl_parser;
@@ -934,31 +933,23 @@ gupnp_browse_cb (GUPnPServiceProxy *service,
os = (struct OperationSpec *) user_data;
didl_parser = gupnp_didl_lite_parser_new ();
- result =
- gupnp_service_proxy_end_action (service, action, &error,
- "Result", G_TYPE_STRING, &didl,
- "NumberReturned", G_TYPE_UINT, &returned,
- "TotalMatches", G_TYPE_UINT, &matches,
- NULL);
+ gupnp_service_proxy_end_action (service, action, &error,
+ "Result", G_TYPE_STRING, &didl,
+ "NumberReturned", G_TYPE_UINT, &returned,
+ "TotalMatches", G_TYPE_UINT, &matches,
+ NULL);
- if (!result) {
- GRL_WARNING ("Operation (browse, search or query) failed");
- os->callback (os->source, os->operation_id, NULL, 0, os->user_data, error);
+ if (!didl || !returned) {
+ GRL_DEBUG ("Got no results");
+ os->callback (os->source, os->operation_id,
+ NULL, 0, os->user_data, error? error: NULL);
if (error) {
- GRL_WARNING (" Reason: %s", error->message);
g_error_free (error);
}
goto free_resources;
}
- if (!didl || !returned) {
- GRL_DEBUG ("Got no results");
- os->callback (os->source, os->operation_id, NULL, 0, os->user_data, NULL);
-
- goto free_resources;
- }
-
/* Use os->count to emit "remaining" information */
if (os->count > returned) {
os->count = returned;
@@ -1004,7 +995,6 @@ gupnp_metadata_cb (GUPnPServiceProxy *service,
{
GError *error = NULL;
gchar *didl = NULL;
- gboolean result;
GrlMediaSourceMetadataSpec *ms;
GUPnPDIDLLiteParser *didl_parser;
@@ -1013,29 +1003,21 @@ gupnp_metadata_cb (GUPnPServiceProxy *service,
ms = (GrlMediaSourceMetadataSpec *) user_data;
didl_parser = gupnp_didl_lite_parser_new ();
- result =
- gupnp_service_proxy_end_action (service, action, &error,
- "Result", G_TYPE_STRING, &didl,
- NULL);
+ gupnp_service_proxy_end_action (service, action, &error,
+ "Result", G_TYPE_STRING, &didl,
+ NULL);
- if (!result) {
- GRL_WARNING ("Metadata operation failed");
- ms->callback (ms->source, ms->metadata_id, ms->media, ms->user_data, error);
+ if (!didl) {
+ GRL_DEBUG ("Got no metadata");
+ ms->callback (ms->source, ms->metadata_id,
+ ms->media, ms->user_data, error? error: NULL);
if (error) {
- GRL_WARNING (" Reason: %s", error->message);
g_error_free (error);
}
goto free_resources;
}
- if (!didl) {
- GRL_DEBUG ("Got no metadata");
- ms->callback (ms->source, ms->metadata_id, ms->media, ms->user_data, NULL);
-
- goto free_resources;
- }
-
g_signal_connect (G_OBJECT (didl_parser),
"object-available",
G_CALLBACK (gupnp_metadata_result_cb),
diff --git a/src/media/vimeo/grl-vimeo.c b/src/media/vimeo/grl-vimeo.c
index 42edc8b..50c097f 100644
--- a/src/media/vimeo/grl-vimeo.c
+++ b/src/media/vimeo/grl-vimeo.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
diff --git a/src/media/vimeo/gvimeo.c b/src/media/vimeo/gvimeo.c
index 3b7f2fc..4d77db6 100644
--- a/src/media/vimeo/gvimeo.c
+++ b/src/media/vimeo/gvimeo.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
*
diff --git a/src/media/youtube/grl-youtube.c b/src/media/youtube/grl-youtube.c
index 7f124ce..c6b2a70 100644
--- a/src/media/youtube/grl-youtube.c
+++ b/src/media/youtube/grl-youtube.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
* Copyright (C) 2011 Intel Corporation.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
diff --git a/src/metadata/fake-metadata/grl-fake-metadata.c b/src/metadata/fake-metadata/grl-fake-metadata.c
index 770c7f6..aebce0e 100644
--- a/src/metadata/fake-metadata/grl-fake-metadata.c
+++ b/src/metadata/fake-metadata/grl-fake-metadata.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
*
diff --git a/src/metadata/gravatar/grl-gravatar.c b/src/metadata/gravatar/grl-gravatar.c
index 35e6885..fd2b326 100644
--- a/src/metadata/gravatar/grl-gravatar.c
+++ b/src/metadata/gravatar/grl-gravatar.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
*
diff --git a/src/metadata/lastfm-albumart/grl-lastfm-albumart.c b/src/metadata/lastfm-albumart/grl-lastfm-albumart.c
index b65c840..9559fa0 100644
--- a/src/metadata/lastfm-albumart/grl-lastfm-albumart.c
+++ b/src/metadata/lastfm-albumart/grl-lastfm-albumart.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
*
diff --git a/src/metadata/metadata-store/grl-metadata-store.c b/src/metadata/metadata-store/grl-metadata-store.c
index 50aaf8a..c8fff43 100644
--- a/src/metadata/metadata-store/grl-metadata-store.c
+++ b/src/metadata/metadata-store/grl-metadata-store.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
*
diff --git a/test/Makefile.am b/test/Makefile.am
index 63b2832..3b096af 100644
--- a/test/Makefile.am
+++ b/test/Makefile.am
@@ -3,7 +3,7 @@
#
# Author: Iago Toral <itoral@igalia.com>
#
-# Copyright (C) 2010 Igalia S.L.
+# Copyright (C) 2010, 2011 Igalia S.L.
INCLUDES = @DEPS_CFLAGS@
diff --git a/test/main.c b/test/main.c
index afe28e1..62352a0 100644
--- a/test/main.c
+++ b/test/main.c
@@ -1,5 +1,5 @@
/*
- * Copyright (C) 2010 Igalia S.L.
+ * Copyright (C) 2010, 2011 Igalia S.L.
*
* Contact: Iago Toral Quiroga <itoral@igalia.com>
*