[rygel-grilo] Rename from MediaServer2 to MediaServer1



commit 941c40bfde346fc739bef891325c566178d32fe0
Author: Juan A. Suarez Romero <jasuarez igalia com>
Date:   Wed May 5 20:59:42 2010 +0200

    Rename from MediaServer2 to MediaServer1
    
    Last non-published version of specification was MediaServer2, and improvement
    over MediaServer1.
    
    After several discussions, a new specification was created, which is mostly
    MediaServer1 with some new additions.
    
    Instead of naming it MediaServer3, or reusing MediaServer2 name, as the later
    was not published and almost no applications are using MediaServer1
    specification, its author decided to reuse the name of MediaServer1.
    
    Thus, this commit renames all files and objects to fit with this new name.
    
    So now library is providing MS1Server and MS1Client.

 lib/Makefile.am                                    |   26 +-
 ...dia-server2-client.c => media-server1-client.c} |  322 ++++++++++----------
 lib/media-server1-client.h                         |  151 +++++++++
 lib/media-server1-common.h                         |   92 ++++++
 ...trospection.h => media-server1-introspection.h} |   28 +-
 ...server2-observer.c => media-server1-observer.c} |   64 ++--
 ...server2-observer.h => media-server1-observer.h} |   56 ++--
 ...a-server2-private.h => media-server1-private.h} |   28 +-
 ...server-table.c => media-server1-server-table.c} |  264 ++++++++--------
 ...dia-server2-server.c => media-server1-server.c} |  242 ++++++++--------
 ...dia-server2-server.h => media-server1-server.h} |  120 ++++----
 lib/media-server2-client.h                         |  151 ---------
 lib/media-server2-common.h                         |   92 ------
 src/Makefile.am                                    |    6 +-
 src/rygel-grilo.c                                  |   90 +++---
 src/test-client.c                                  |   68 ++--
 16 files changed, 900 insertions(+), 900 deletions(-)
---
diff --git a/lib/Makefile.am b/lib/Makefile.am
index fb31ccd..470a0bd 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -7,24 +7,24 @@
 
 INCLUDES = @DEPS_CFLAGS@
 
-lib_LTLIBRARIES = libmediaserver2.la
+lib_LTLIBRARIES = libmediaserver1.la
 
-libmediaserver2_la_CFLAGS =	\
+libmediaserver1_la_CFLAGS =	\
 	$(DEPS_CFLAGS)
 
-libmediaserver2_la_LIBADD =	\
+libmediaserver1_la_LIBADD =	\
 	$(DEPS_LIBS)
 
-libmediaserver2_la_SOURCES =		\
-	media-server2-introspection.h	\
-	media-server2-common.h		\
-	media-server2-server.h		\
-	media-server2-server-table.c	\
-	media-server2-server.c		\
-	media-server2-client.h		\
-	media-server2-client.c		\
-	media-server2-observer.h	\
-	media-server2-observer.c
+libmediaserver1_la_SOURCES =		\
+	media-server1-introspection.h	\
+	media-server1-common.h		\
+	media-server1-server.h		\
+	media-server1-server-table.c	\
+	media-server1-server.c		\
+	media-server1-client.h		\
+	media-server1-client.c		\
+	media-server1-observer.h	\
+	media-server1-observer.c
 
 MAINTAINERCLEANFILES =	\
 	*.in
diff --git a/lib/media-server2-client.c b/lib/media-server1-client.c
similarity index 73%
rename from lib/media-server2-client.c
rename to lib/media-server1-client.c
index f75d0e6..51a0fdd 100644
--- a/lib/media-server2-client.c
+++ b/lib/media-server1-client.c
@@ -24,8 +24,8 @@
 #include <dbus/dbus-glib.h>
 #include <string.h>
 
-#include "media-server2-private.h"
-#include "media-server2-client.h"
+#include "media-server1-private.h"
+#include "media-server1-client.h"
 
 #define DBUS_TYPE_G_ARRAY_OF_STRING                             \
   (dbus_g_type_get_collection ("GPtrArray", G_TYPE_STRING))
@@ -36,11 +36,11 @@
 #define DBUS_TYPE_CHILDREN                                              \
   dbus_g_type_get_collection ("GPtrArray", DBUS_TYPE_PROPERTIES)
 
-#define IMEDIAOBJECT2_INDEX 0
-#define IMEDIAITEM2_INDEX   1
+#define IMEDIAOBJECT1_INDEX 0
+#define IMEDIAITEM1_INDEX   1
 
-#define MS2_CLIENT_GET_PRIVATE(o)                                       \
-  G_TYPE_INSTANCE_GET_PRIVATE((o), MS2_TYPE_CLIENT, MS2ClientPrivate)
+#define MS1_CLIENT_GET_PRIVATE(o)                                       \
+  G_TYPE_INSTANCE_GET_PRIVATE((o), MS1_TYPE_CLIENT, MS1ClientPrivate)
 
 enum {
   UPDATED,
@@ -49,13 +49,13 @@ enum {
 };
 
 /*
- * Private MS2Client structure
+ * Private MS1Client structure
  *   bus: connection to DBus session
  *   name: name of provider
  *   fullname: full dbus service name of provider
  *   root_path: object path to reach root category
  */
-struct _MS2ClientPrivate {
+struct _MS1ClientPrivate {
   DBusGConnection *bus;
   gchar *name;
   gchar *fullname;
@@ -64,10 +64,10 @@ struct _MS2ClientPrivate {
 
 static guint32 signals[LAST_SIGNAL] = { 0 };
 
-static gchar *IFACES[] = { "org.gnome.UPnP.MediaObject2",
-                           "org.gnome.UPnP.MediaItem2" };
+static gchar *IFACES[] = { "org.gnome.UPnP.MediaObject1",
+                           "org.gnome.UPnP.MediaItem1" };
 
-G_DEFINE_TYPE (MS2Client, ms2_client, G_TYPE_OBJECT);
+G_DEFINE_TYPE (MS1Client, ms1_client, G_TYPE_OBJECT);
 
 /******************** PRIVATE API ********************/
 
@@ -76,7 +76,7 @@ G_DEFINE_TYPE (MS2Client, ms2_client, G_TYPE_OBJECT);
 static void
 updated (DBusGProxy *proxy,
          const gchar *id,
-         MS2Client *client)
+         MS1Client *client)
 {
   g_signal_emit (client, signals[UPDATED], 0, id);
 }
@@ -110,15 +110,15 @@ split_properties_by_interface (gchar **properties)
 
   prop_length = g_strv_length (properties) + 1;
   split = g_new (gchar **, 2);
-  split[IMEDIAOBJECT2_INDEX] = g_new0 (gchar *, prop_length);
-  split[IMEDIAITEM2_INDEX] = g_new0 (gchar *, prop_length);
+  split[IMEDIAOBJECT1_INDEX] = g_new0 (gchar *, prop_length);
+  split[IMEDIAITEM1_INDEX] = g_new0 (gchar *, prop_length);
   for (property = properties; *property; property++) {
-    if (g_strcmp0 (*property, MS2_PROP_DISPLAY_NAME) == 0 ||
-        g_strcmp0 (*property, MS2_PROP_PARENT) == 0 ||
-        g_strcmp0 (*property, MS2_PROP_PATH) == 0) {
-      split[IMEDIAOBJECT2_INDEX][mo_index++] = *property;
+    if (g_strcmp0 (*property, MS1_PROP_DISPLAY_NAME) == 0 ||
+        g_strcmp0 (*property, MS1_PROP_PARENT) == 0 ||
+        g_strcmp0 (*property, MS1_PROP_PATH) == 0) {
+      split[IMEDIAOBJECT1_INDEX][mo_index++] = *property;
     } else {
-      split[IMEDIAITEM2_INDEX][mi_index++] = *property;
+      split[IMEDIAITEM1_INDEX][mi_index++] = *property;
     }
   }
 
@@ -176,41 +176,41 @@ get_children_list (GPtrArray *result,
 
 /* Dispose function */
 static void
-ms2_client_dispose (GObject *object)
+ms1_client_dispose (GObject *object)
 {
-  MS2Client *client = MS2_CLIENT (object);
+  MS1Client *client = MS1_CLIENT (object);
 
-  ms2_observer_remove_client (client, client->priv->name);
+  ms1_observer_remove_client (client, client->priv->name);
 
-  G_OBJECT_CLASS (ms2_client_parent_class)->dispose (object);
+  G_OBJECT_CLASS (ms1_client_parent_class)->dispose (object);
 }
 
 static void
-ms2_client_finalize (GObject *object)
+ms1_client_finalize (GObject *object)
 {
-  MS2Client *client = MS2_CLIENT (object);
+  MS1Client *client = MS1_CLIENT (object);
 
   g_free (client->priv->name);
   g_free (client->priv->fullname);
   g_free (client->priv->root_path);
 
-  G_OBJECT_CLASS (ms2_client_parent_class)->finalize (object);
+  G_OBJECT_CLASS (ms1_client_parent_class)->finalize (object);
 }
 
 /* Class init function */
 static void
-ms2_client_class_init (MS2ClientClass *klass)
+ms1_client_class_init (MS1ClientClass *klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (MS2ClientPrivate));
+  g_type_class_add_private (klass, sizeof (MS1ClientPrivate));
 
-  gobject_class->dispose = ms2_client_dispose;
-  gobject_class->finalize = ms2_client_finalize;
+  gobject_class->dispose = ms1_client_dispose;
+  gobject_class->finalize = ms1_client_finalize;
 
   /**
-   * MS2Client::updated:
-   * @client: a #MS2Client
+   * MS1Client::updated:
+   * @client: a #MS1Client
    * @id: identifier of item that has changed
    *
    * Notifies when an item in provider has changed.
@@ -218,7 +218,7 @@ ms2_client_class_init (MS2ClientClass *klass)
   signals[UPDATED] = g_signal_new ("updated",
                                    G_TYPE_FROM_CLASS (klass),
                                    G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE,
-                                   G_STRUCT_OFFSET (MS2ClientClass, updated),
+                                   G_STRUCT_OFFSET (MS1ClientClass, updated),
                                    NULL,
                                    NULL,
                                    g_cclosure_marshal_VOID__STRING,
@@ -227,8 +227,8 @@ ms2_client_class_init (MS2ClientClass *klass)
                                    G_TYPE_STRING);
 
   /**
-   * MS2Client::destroy:
-   * @client: a #MS2Client
+   * MS1Client::destroy:
+   * @client: a #MS1Client
    *
    * Notifies when a client is going to be destroyed. Usually this happens when
    * provider goes away.
@@ -240,7 +240,7 @@ ms2_client_class_init (MS2ClientClass *klass)
   signals[DESTROY] = g_signal_new ("destroy",
                                    G_TYPE_FROM_CLASS (klass),
                                    G_SIGNAL_RUN_LAST | G_SIGNAL_RUN_CLEANUP,
-                                   G_STRUCT_OFFSET (MS2ClientClass, destroy),
+                                   G_STRUCT_OFFSET (MS1ClientClass, destroy),
                                    NULL,
                                    NULL,
                                    g_cclosure_marshal_VOID__VOID,
@@ -250,18 +250,18 @@ ms2_client_class_init (MS2ClientClass *klass)
 
 /* Object init function */
 static void
-ms2_client_init (MS2Client *client)
+ms1_client_init (MS1Client *client)
 {
-  client->priv = MS2_CLIENT_GET_PRIVATE (client);
+  client->priv = MS1_CLIENT_GET_PRIVATE (client);
 }
 
 /****************** INTERNAL PUBLIC API (NOT TO BE EXPORTED) ******************/
 
 /* Notify destruction of client, and unref it */
 void
-ms2_client_notify_unref (MS2Client *client)
+ms1_client_notify_unref (MS1Client *client)
 {
-  g_return_if_fail (MS2_IS_CLIENT (client));
+  g_return_if_fail (MS1_IS_CLIENT (client));
 
   g_signal_emit (client, signals[DESTROY], 0);
   g_object_unref (client);
@@ -270,14 +270,14 @@ ms2_client_notify_unref (MS2Client *client)
 /******************** PUBLIC API ********************/
 
 /**
- * ms2_client_get_providers:
+ * ms1_client_get_providers:
  *
- * Returns a list of content providers following MediaServer2 specification.
+ * Returns a list of content providers following MediaServer1 specification.
  *
  * Returns: a new @NULL-terminated array of strings
  **/
 gchar **
-ms2_client_get_providers ()
+ms1_client_get_providers ()
 {
   DBusGConnection *connection;
   DBusGProxy *gproxy;
@@ -287,7 +287,7 @@ ms2_client_get_providers ()
   gchar **list_providers;
   gchar **p;
   gint i;
-  gint prefix_size = strlen (MS2_DBUS_SERVICE_PREFIX);
+  gint prefix_size = strlen (MS1_DBUS_SERVICE_PREFIX);
 
   connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
   if (!connection) {
@@ -315,10 +315,10 @@ ms2_client_get_providers ()
     return FALSE;
   }
 
-  /* Filter the list to obtain those services that fulfils MediaServer2 spec */
+  /* Filter the list to obtain those services that fulfils MediaServer1 spec */
   providers = g_ptr_array_new ();
   for (p = dbus_names; *p; p++) {
-    if (g_str_has_prefix (*p, MS2_DBUS_SERVICE_PREFIX)) {
+    if (g_str_has_prefix (*p, MS1_DBUS_SERVICE_PREFIX)) {
       g_ptr_array_add (providers, *p);
     }
   }
@@ -339,21 +339,21 @@ ms2_client_get_providers ()
 }
 
 /**
- * ms2_client_new:
+ * ms1_client_new:
  * @provider: provider name.
  *
- * Create a new #MS2Client that will be used to obtain content from the provider
+ * Create a new #MS1Client that will be used to obtain content from the provider
  * specified.
  *
- * Providers can be obtained with ms2_client_get_providers().
+ * Providers can be obtained with ms1_client_get_providers().
  *
- * Returns: a new #MS2Client
+ * Returns: a new #MS1Client
  **/
-MS2Client *ms2_client_new (const gchar *provider)
+MS1Client *ms1_client_new (const gchar *provider)
 {
   DBusGConnection *connection;
   GError *error = NULL;
-  MS2Client *client;
+  MS1Client *client;
 
   connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
   if (!connection) {
@@ -362,36 +362,36 @@ MS2Client *ms2_client_new (const gchar *provider)
     return NULL;
   }
 
-  client = g_object_new (MS2_TYPE_CLIENT, NULL);
+  client = g_object_new (MS1_TYPE_CLIENT, NULL);
   client->priv->bus = connection;
   client->priv->name = g_strdup (provider);
-  client->priv->fullname = g_strconcat (MS2_DBUS_SERVICE_PREFIX, provider, NULL);
-  client->priv->root_path = g_strconcat (MS2_DBUS_PATH_PREFIX, provider, NULL);
+  client->priv->fullname = g_strconcat (MS1_DBUS_SERVICE_PREFIX, provider, NULL);
+  client->priv->root_path = g_strconcat (MS1_DBUS_PATH_PREFIX, provider, NULL);
 
-  ms2_observer_add_client (client, provider);
+  ms1_observer_add_client (client, provider);
 
   return client;
 }
 
 /**
- * ms2_client_get_provider_name:
- * @client: a #MS2Client
+ * ms1_client_get_provider_name:
+ * @client: a #MS1Client
  *
  * Returns name of provider which client is attending
  *
  * Returns: name of provider
  **/
 const gchar *
-ms2_client_get_provider_name (MS2Client *client)
+ms1_client_get_provider_name (MS1Client *client)
 {
-  g_return_val_if_fail (MS2_IS_CLIENT (client), NULL);
+  g_return_val_if_fail (MS1_IS_CLIENT (client), NULL);
 
   return client->priv->name;
 }
 
 /**
- * ms2_client_get_properties:
- * @client: a #MS2Client
+ * ms1_client_get_properties:
+ * @client: a #MS1Client
  * @id: media identifier to obtain properties from
  * @properties: @NULL-terminated array of properties to request
  * @error: a #GError location to store the error ocurring, or @NULL to ignore
@@ -402,7 +402,7 @@ ms2_client_get_provider_name (MS2Client *client)
  * Returns: a new #GHashTable
  **/
 GHashTable *
-ms2_client_get_properties (MS2Client *client,
+ms1_client_get_properties (MS1Client *client,
                            const gchar *object_path,
                            gchar **properties,
                            GError **error)
@@ -416,7 +416,7 @@ ms2_client_get_properties (MS2Client *client,
   gint i;
   gint num_props;
 
-  g_return_val_if_fail (MS2_IS_CLIENT (client), NULL);
+  g_return_val_if_fail (MS1_IS_CLIENT (client), NULL);
   g_return_val_if_fail (properties, NULL);
 
   gproxy = dbus_g_proxy_new_for_name (client->priv->bus,
@@ -487,8 +487,8 @@ ms2_client_get_properties (MS2Client *client,
 }
 
 /**
- * ms2_client_get_children:
- * @client: a #MS2Client
+ * ms1_client_get_children:
+ * @client: a #MS1Client
  * @id: container identifier to get children from
  * @offset: number of children to skip
  * @max_count: maximum number of children to return, or -1 for no limit
@@ -502,7 +502,7 @@ ms2_client_get_properties (MS2Client *client,
  * (g_hash_table_unref()) and finally the list itself (g_list_free())
  **/
 GList *
-ms2_client_get_children (MS2Client *client,
+ms1_client_get_children (MS1Client *client,
                          const gchar *id,
                          guint offset,
                          gint max_count,
@@ -512,9 +512,9 @@ ms2_client_get_children (MS2Client *client,
   GPtrArray *result = NULL;
   GList *children = NULL;
 
-  g_return_val_if_fail (MS2_IS_CLIENT (client), NULL);
+  g_return_val_if_fail (MS1_IS_CLIENT (client), NULL);
 
-  /* if (!org_gnome_UPnP_MediaServer2_get_children (client->priv->proxy_provider, */
+  /* if (!org_gnome_UPnP_MediaServer1_get_children (client->priv->proxy_provider, */
   /*                                                id, */
   /*                                                offset, */
   /*                                                max_count, */
@@ -533,9 +533,9 @@ ms2_client_get_children (MS2Client *client,
 }
 
 const gchar *
-ms2_client_get_root_path (MS2Client *client)
+ms1_client_get_root_path (MS1Client *client)
 {
-  g_return_val_if_fail (MS2_IS_CLIENT (client), NULL);
+  g_return_val_if_fail (MS1_IS_CLIENT (client), NULL);
 
   return client->priv->root_path;
 }
@@ -543,7 +543,7 @@ ms2_client_get_root_path (MS2Client *client)
 /******************** PROPERTIES TABLE API ********************/
 
 /**
- * ms2_client_get_id:
+ * ms1_client_get_id:
  * @properties: a #GHashTable
  *
  * Returns "id" property value.
@@ -551,13 +551,13 @@ ms2_client_get_root_path (MS2Client *client)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms2_client_get_path (GHashTable *properties)
+ms1_client_get_path (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_PATH);
+  val = g_hash_table_lookup (properties, MS1_PROP_PATH);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -566,7 +566,7 @@ ms2_client_get_path (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_parent:
+ * ms1_client_get_parent:
  * @properties: a #GHashTable
  *
  * Returns "parent" property value.
@@ -574,13 +574,13 @@ ms2_client_get_path (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms2_client_get_parent (GHashTable *properties)
+ms1_client_get_parent (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_PARENT);
+  val = g_hash_table_lookup (properties, MS1_PROP_PARENT);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -589,7 +589,7 @@ ms2_client_get_parent (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_display_name:
+ * ms1_client_get_display_name:
  * @properties: a #GHashTable
  *
  * Returns "display-name" property value.
@@ -597,13 +597,13 @@ ms2_client_get_parent (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms2_client_get_display_name (GHashTable *properties)
+ms1_client_get_display_name (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_DISPLAY_NAME);
+  val = g_hash_table_lookup (properties, MS1_PROP_DISPLAY_NAME);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -612,49 +612,49 @@ ms2_client_get_display_name (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_item_type:
+ * ms1_client_get_item_type:
  * @properties: a #GHashTable
  *
  * Returns "type" property value.
  *
  * Returns: property value
  **/
-MS2ItemType
-ms2_client_get_item_type (GHashTable *properties)
+MS1ItemType
+ms1_client_get_item_type (GHashTable *properties)
 {
   GValue *val;
   const gchar *type;
 
-  g_return_val_if_fail (properties, MS2_ITEM_TYPE_UNKNOWN);
+  g_return_val_if_fail (properties, MS1_ITEM_TYPE_UNKNOWN);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_DISPLAY_NAME);
+  val = g_hash_table_lookup (properties, MS1_PROP_DISPLAY_NAME);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
-    return MS2_ITEM_TYPE_UNKNOWN;
+    return MS1_ITEM_TYPE_UNKNOWN;
   }
 
   type = g_value_get_string (val);
 
-  if (g_strcmp0 (type, MS2_TYPE_CONTAINER) == 0) {
-    return MS2_ITEM_TYPE_CONTAINER;
-  } else if (g_strcmp0 (type, MS2_TYPE_VIDEO) == 0) {
-    return MS2_ITEM_TYPE_VIDEO;
-  } else if (g_strcmp0 (type, MS2_TYPE_MOVIE) == 0) {
-    return MS2_ITEM_TYPE_MOVIE;
-  } else if (g_strcmp0 (type, MS2_TYPE_AUDIO) == 0) {
-    return MS2_ITEM_TYPE_AUDIO;
-  } else if (g_strcmp0 (type, MS2_TYPE_MUSIC) == 0) {
-    return MS2_ITEM_TYPE_MUSIC;
-  } else if (g_strcmp0 (type, MS2_TYPE_IMAGE) == 0) {
-    return MS2_ITEM_TYPE_IMAGE;
-  } else if (g_strcmp0 (type, MS2_TYPE_PHOTO) == 0) {
-    return MS2_ITEM_TYPE_PHOTO;
+  if (g_strcmp0 (type, MS1_TYPE_CONTAINER) == 0) {
+    return MS1_ITEM_TYPE_CONTAINER;
+  } else if (g_strcmp0 (type, MS1_TYPE_VIDEO) == 0) {
+    return MS1_ITEM_TYPE_VIDEO;
+  } else if (g_strcmp0 (type, MS1_TYPE_MOVIE) == 0) {
+    return MS1_ITEM_TYPE_MOVIE;
+  } else if (g_strcmp0 (type, MS1_TYPE_AUDIO) == 0) {
+    return MS1_ITEM_TYPE_AUDIO;
+  } else if (g_strcmp0 (type, MS1_TYPE_MUSIC) == 0) {
+    return MS1_ITEM_TYPE_MUSIC;
+  } else if (g_strcmp0 (type, MS1_TYPE_IMAGE) == 0) {
+    return MS1_ITEM_TYPE_IMAGE;
+  } else if (g_strcmp0 (type, MS1_TYPE_PHOTO) == 0) {
+    return MS1_ITEM_TYPE_PHOTO;
   } else {
-    return MS2_ITEM_TYPE_UNKNOWN;
+    return MS1_ITEM_TYPE_UNKNOWN;
   }
 }
 
 /**
- * ms2_client_get_icon:
+ * ms1_client_get_icon:
  * @properties: a #GHashTable
  *
  * Returns "icon" property value.
@@ -662,13 +662,13 @@ ms2_client_get_item_type (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms2_client_get_icon (GHashTable *properties)
+ms1_client_get_icon (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_ICON);
+  val = g_hash_table_lookup (properties, MS1_PROP_ICON);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -677,7 +677,7 @@ ms2_client_get_icon (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_mime_type:
+ * ms1_client_get_mime_type:
  * @properties: a #GHashTable
  *
  * Returns "mime-type" property value.
@@ -685,13 +685,13 @@ ms2_client_get_icon (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms2_client_get_mime_type (GHashTable *properties)
+ms1_client_get_mime_type (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_MIME_TYPE);
+  val = g_hash_table_lookup (properties, MS1_PROP_MIME_TYPE);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -700,7 +700,7 @@ ms2_client_get_mime_type (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_artist:
+ * ms1_client_get_artist:
  * @properties: a #GHashTable
  *
  * Returns "artist" property value.
@@ -708,13 +708,13 @@ ms2_client_get_mime_type (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms2_client_get_artist (GHashTable *properties)
+ms1_client_get_artist (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_ARTIST);
+  val = g_hash_table_lookup (properties, MS1_PROP_ARTIST);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -723,7 +723,7 @@ ms2_client_get_artist (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_album:
+ * ms1_client_get_album:
  * @properties: a #GHashTable
  *
  * Returns "album" property value.
@@ -731,13 +731,13 @@ ms2_client_get_artist (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms2_client_get_album (GHashTable *properties)
+ms1_client_get_album (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_ALBUM);
+  val = g_hash_table_lookup (properties, MS1_PROP_ALBUM);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -746,7 +746,7 @@ ms2_client_get_album (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_date:
+ * ms1_client_get_date:
  * @properties: a #GHashTable
  *
  * Returns "date" property value.
@@ -754,13 +754,13 @@ ms2_client_get_album (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms2_client_get_date (GHashTable *properties)
+ms1_client_get_date (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_DATE);
+  val = g_hash_table_lookup (properties, MS1_PROP_DATE);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -769,7 +769,7 @@ ms2_client_get_date (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_dlna_profile:
+ * ms1_client_get_dlna_profile:
  * @properties: a #GHashTable
  *
  * Returns "dlna-profile" property value.
@@ -777,13 +777,13 @@ ms2_client_get_date (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms2_client_get_dlna_profile (GHashTable *properties)
+ms1_client_get_dlna_profile (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_DLNA_PROFILE);
+  val = g_hash_table_lookup (properties, MS1_PROP_DLNA_PROFILE);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -792,7 +792,7 @@ ms2_client_get_dlna_profile (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_thumbnail:
+ * ms1_client_get_thumbnail:
  * @properties: a #GHashTable
  *
  * Returns "thumbanil" property value.
@@ -800,13 +800,13 @@ ms2_client_get_dlna_profile (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms2_client_get_thumbnail (GHashTable *properties)
+ms1_client_get_thumbnail (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_THUMBNAIL);
+  val = g_hash_table_lookup (properties, MS1_PROP_THUMBNAIL);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -815,7 +815,7 @@ ms2_client_get_thumbnail (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_genre:
+ * ms1_client_get_genre:
  * @properties: a #GHashTable
  *
  * Returns "genre" property value.
@@ -823,13 +823,13 @@ ms2_client_get_thumbnail (GHashTable *properties)
  * Returns: property value or @NULL if it is not available
  **/
 const gchar *
-ms2_client_get_genre (GHashTable *properties)
+ms1_client_get_genre (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_GENRE);
+  val = g_hash_table_lookup (properties, MS1_PROP_GENRE);
   if (!val || !G_VALUE_HOLDS_STRING (val)) {
     return NULL;
   }
@@ -838,7 +838,7 @@ ms2_client_get_genre (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_child_count:
+ * ms1_client_get_child_count:
  * @properties: a #GHashTable
  *
  * Returns "child-count" property value.
@@ -846,13 +846,13 @@ ms2_client_get_genre (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms2_client_get_child_count (GHashTable *properties)
+ms1_client_get_child_count (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_CHILD_COUNT);
+  val = g_hash_table_lookup (properties, MS1_PROP_CHILD_COUNT);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -861,7 +861,7 @@ ms2_client_get_child_count (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_size:
+ * ms1_client_get_size:
  * @properties: a #GHashTable
  *
  * Returns "size" property value.
@@ -869,13 +869,13 @@ ms2_client_get_child_count (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms2_client_get_size (GHashTable *properties)
+ms1_client_get_size (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_SIZE);
+  val = g_hash_table_lookup (properties, MS1_PROP_SIZE);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -884,7 +884,7 @@ ms2_client_get_size (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_duration:
+ * ms1_client_get_duration:
  * @properties: a #GHashTable
  *
  * Returns "duration" property value.
@@ -892,13 +892,13 @@ ms2_client_get_size (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms2_client_get_duration (GHashTable *properties)
+ms1_client_get_duration (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_DURATION);
+  val = g_hash_table_lookup (properties, MS1_PROP_DURATION);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -907,7 +907,7 @@ ms2_client_get_duration (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_bitrate:
+ * ms1_client_get_bitrate:
  * @properties: a #GHashTable
  *
  * Returns "bitrate" property value.
@@ -915,13 +915,13 @@ ms2_client_get_duration (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms2_client_get_bitrate (GHashTable *properties)
+ms1_client_get_bitrate (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_BITRATE);
+  val = g_hash_table_lookup (properties, MS1_PROP_BITRATE);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -930,7 +930,7 @@ ms2_client_get_bitrate (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_sample_rate:
+ * ms1_client_get_sample_rate:
  * @properties: a #GHashTable
  *
  * Returns "sample-rate" property value.
@@ -938,13 +938,13 @@ ms2_client_get_bitrate (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms2_client_get_sample_rate (GHashTable *properties)
+ms1_client_get_sample_rate (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_SAMPLE_RATE);
+  val = g_hash_table_lookup (properties, MS1_PROP_SAMPLE_RATE);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -953,7 +953,7 @@ ms2_client_get_sample_rate (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_bits_per_sample:
+ * ms1_client_get_bits_per_sample:
  * @properties: a #GHashTable
  *
  * Returns "bits-per-sample" property value.
@@ -961,13 +961,13 @@ ms2_client_get_sample_rate (GHashTable *properties)
  * Returns: property value of -1 if it is not available
  **/
 gint
-ms2_client_get_bits_per_sample (GHashTable *properties)
+ms1_client_get_bits_per_sample (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_BITS_PER_SAMPLE);
+  val = g_hash_table_lookup (properties, MS1_PROP_BITS_PER_SAMPLE);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -976,7 +976,7 @@ ms2_client_get_bits_per_sample (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_width:
+ * ms1_client_get_width:
  * @properties: a #GHashTable
  *
  * Returns "width" property value.
@@ -984,13 +984,13 @@ ms2_client_get_bits_per_sample (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms2_client_get_width (GHashTable *properties)
+ms1_client_get_width (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_WIDTH);
+  val = g_hash_table_lookup (properties, MS1_PROP_WIDTH);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -999,7 +999,7 @@ ms2_client_get_width (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_height:
+ * ms1_client_get_height:
  * @properties: a #GHashTable
  *
  * Returns "height" property value.
@@ -1007,13 +1007,13 @@ ms2_client_get_width (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms2_client_get_height (GHashTable *properties)
+ms1_client_get_height (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_HEIGHT);
+  val = g_hash_table_lookup (properties, MS1_PROP_HEIGHT);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1022,7 +1022,7 @@ ms2_client_get_height (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_color_depth:
+ * ms1_client_get_color_depth:
  * @properties: a #GHashTable
  *
  * Returns "color-depth" property value.
@@ -1030,13 +1030,13 @@ ms2_client_get_height (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms2_client_get_color_depth (GHashTable *properties)
+ms1_client_get_color_depth (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_COLOR_DEPTH);
+  val = g_hash_table_lookup (properties, MS1_PROP_COLOR_DEPTH);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1045,7 +1045,7 @@ ms2_client_get_color_depth (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_pixel_width:
+ * ms1_client_get_pixel_width:
  * @properties: a #GHashTable
  *
  * Returns "pixel-width" property value.
@@ -1053,13 +1053,13 @@ ms2_client_get_color_depth (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms2_client_get_pixel_width (GHashTable *properties)
+ms1_client_get_pixel_width (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_PIXEL_WIDTH);
+  val = g_hash_table_lookup (properties, MS1_PROP_PIXEL_WIDTH);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1068,7 +1068,7 @@ ms2_client_get_pixel_width (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_pixel_height:
+ * ms1_client_get_pixel_height:
  * @properties: a #GHashTable
  *
  * Returns "pixel-height" property value.
@@ -1076,13 +1076,13 @@ ms2_client_get_pixel_width (GHashTable *properties)
  * Returns: property value or -1 if it is not available
  **/
 gint
-ms2_client_get_pixel_height (GHashTable *properties)
+ms1_client_get_pixel_height (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, -1);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_PIXEL_HEIGHT);
+  val = g_hash_table_lookup (properties, MS1_PROP_PIXEL_HEIGHT);
   if (!val || !G_VALUE_HOLDS_INT (val)) {
     return -1;
   }
@@ -1091,7 +1091,7 @@ ms2_client_get_pixel_height (GHashTable *properties)
 }
 
 /**
- * ms2_client_get_urls:
+ * ms1_client_get_urls:
  * @properties: a #GHashTable
  *
  * Returns "URLs" property value.
@@ -1100,13 +1100,13 @@ ms2_client_get_pixel_height (GHashTable *properties)
  * available
  **/
 gchar **
-ms2_client_get_urls (GHashTable *properties)
+ms1_client_get_urls (GHashTable *properties)
 {
   GValue *val;
 
   g_return_val_if_fail (properties, NULL);
 
-  val = g_hash_table_lookup (properties, MS2_PROP_URLS);
+  val = g_hash_table_lookup (properties, MS1_PROP_URLS);
   if (!val || !G_VALUE_HOLDS_BOXED (val)) {
     return NULL;
   }
diff --git a/lib/media-server1-client.h b/lib/media-server1-client.h
new file mode 100644
index 0000000..01fd56c
--- /dev/null
+++ b/lib/media-server1-client.h
@@ -0,0 +1,151 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * Authors: Juan A. Suarez Romero <jasuarez igalia com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef _MEDIA_SERVER1_CLIENT_H_
+#define _MEDIA_SERVER1_CLIENT_H_
+
+#include <gio/gio.h>
+#include <glib-object.h>
+#include <glib.h>
+
+#include "media-server1-common.h"
+
+#define MS1_TYPE_CLIENT                         \
+  (ms1_client_get_type ())
+
+#define MS1_CLIENT(obj)                         \
+  (G_TYPE_CHECK_INSTANCE_CAST ((obj),           \
+                               MS1_TYPE_CLIENT, \
+                               MS1Client))
+
+#define MS1_IS_CLIENT(obj)                              \
+  (G_TYPE_CHECK_INSTANCE_TYPE ((obj),                   \
+                               MS1_TYPE_CLIENT))
+
+#define MS1_CLIENT_CLASS(klass)                 \
+  (G_TYPE_CHECK_CLASS_CAST((klass),             \
+                           MS1_TYPE_CLIENT,     \
+                           MS1ClientClass))
+
+#define MS1_IS_CLIENT_CLASS(klass)              \
+  (G_TYPE_CHECK_CLASS_TYPE((klass),             \
+                           MS1_TYPE_CLIENT))
+
+#define MS1_CLIENT_GET_CLASS(obj)               \
+  (G_TYPE_INSTANCE_GET_CLASS ((obj),            \
+                              MS1_TYPE_CLIENT,  \
+                              MS1ClientClass))
+
+typedef struct _MS1Client        MS1Client;
+typedef struct _MS1ClientPrivate MS1ClientPrivate;
+
+struct _MS1Client {
+
+  GObject parent;
+
+  /*< private >*/
+  MS1ClientPrivate *priv;
+};
+
+typedef struct _MS1ClientClass MS1ClientClass;
+
+struct _MS1ClientClass {
+
+  GObjectClass parent_class;
+
+  void (*updated) (MS1Client *client,
+                   const gchar *id);
+
+  void (*destroy) (MS1Client *client);
+};
+
+GType ms1_client_get_type (void);
+
+gchar **ms1_client_get_providers (void);
+
+MS1Client *ms1_client_new (const gchar *provider);
+
+const gchar *ms1_client_get_provider_name (MS1Client *client);
+
+GHashTable *ms1_client_get_properties (MS1Client *client,
+                                       const gchar *id,
+                                       gchar **properties,
+                                       GError **error);
+
+GList *ms1_client_get_children (MS1Client *client,
+                                const gchar *id,
+                                guint offset,
+                                gint max_count,
+                                const gchar **properties,
+                                GError **error);
+
+const gchar *ms1_client_get_root_path (MS1Client *client);
+
+const gchar *ms1_client_get_path (GHashTable *properties);
+
+const gchar *ms1_client_get_parent (GHashTable *properties);
+
+const gchar *ms1_client_get_display_name (GHashTable *properties);
+
+MS1ItemType ms1_client_get_item_type (GHashTable *properties);
+
+const gchar *ms1_client_get_icon (GHashTable *properties);
+
+const gchar *ms1_client_get_mime_type (GHashTable *properties);
+
+const gchar *ms1_client_get_artist (GHashTable *properties);
+
+const gchar *ms1_client_get_album (GHashTable *properties);
+
+const gchar *ms1_client_get_date (GHashTable *properties);
+
+const gchar *ms1_client_get_dlna_profile (GHashTable *properties);
+
+const gchar *ms1_client_get_thumbnail (GHashTable *properties);
+
+const gchar *ms1_client_get_genre (GHashTable *properties);
+
+gint ms1_client_get_child_count (GHashTable *properties);
+
+gint  ms1_client_get_size (GHashTable *properties);
+
+gint  ms1_client_get_duration (GHashTable *properties);
+
+gint  ms1_client_get_bitrate (GHashTable *properties);
+
+gint  ms1_client_get_sample_rate (GHashTable *properties);
+
+gint  ms1_client_get_bits_per_sample (GHashTable *properties);
+
+gint  ms1_client_get_width (GHashTable *properties);
+
+gint ms1_client_get_height (GHashTable *properties);
+
+gint ms1_client_get_color_depth (GHashTable *properties);
+
+gint ms1_client_get_pixel_width (GHashTable *properties);
+
+gint ms1_client_get_pixel_height (GHashTable *properties);
+
+gchar **ms1_client_get_urls (GHashTable *properties);
+
+#endif /* _MEDIA_SERVER1_CLIENT_H_ */
diff --git a/lib/media-server1-common.h b/lib/media-server1-common.h
new file mode 100644
index 0000000..873368b
--- /dev/null
+++ b/lib/media-server1-common.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright (C) 2010 Igalia S.L.
+ *
+ * Authors: Juan A. Suarez Romero <jasuarez igalia com>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA
+ *
+ */
+
+#ifndef _MEDIA_SERVER1_COMMON_H_
+#define _MEDIA_SERVER1_COMMON_H_
+
+#define MS1_ERROR                                       \
+  g_quark_from_static_string("media_server1_error")
+
+/* MediaObject1 properties */
+#define MS1_PROP_DISPLAY_NAME "DisplayName"
+#define MS1_PROP_PARENT       "Parent"
+#define MS1_PROP_PATH         "Path"
+
+/* MediaItem1 properties */
+#define MS1_PROP_ALBUM     "Album"
+#define MS1_PROP_ARTIST    "Artist"
+#define MS1_PROP_BITRATE   "Bitrate"
+#define MS1_PROP_DURATION  "Duration"
+#define MS1_PROP_GENRE     "Genre"
+#define MS1_PROP_HEIGHT    "Height"
+#define MS1_PROP_MIME_TYPE "MIMEType"
+#define MS1_PROP_TYPE      "Type"
+#define MS1_PROP_URLS      "URLs"
+#define MS1_PROP_WIDTH     "Width"
+
+/* Other undefined properties; pending to add to spec */
+#define MS1_PROP_CHILD_COUNT     "child-count"
+#define MS1_PROP_ICON            "icon"
+#define MS1_PROP_SIZE            "size"
+#define MS1_PROP_DATE            "date"
+#define MS1_PROP_DLNA_PROFILE    "dlna-profile"
+#define MS1_PROP_SAMPLE_RATE     "sample-rate"
+#define MS1_PROP_BITS_PER_SAMPLE "bits-per-sample"
+#define MS1_PROP_COLOR_DEPTH     "color-depth"
+#define MS1_PROP_PIXEL_WIDTH     "pixel-width"
+#define MS1_PROP_PIXEL_HEIGHT    "pixel-height"
+#define MS1_PROP_THUMBNAIL       "thumbnail"
+
+/* Type items */
+#define MS1_TYPE_CONTAINER "container"
+#define MS1_TYPE_VIDEO     "video"
+#define MS1_TYPE_MOVIE     "video.movie"
+#define MS1_TYPE_AUDIO     "audio"
+#define MS1_TYPE_MUSIC     "audio.music"
+#define MS1_TYPE_IMAGE     "image"
+#define MS1_TYPE_PHOTO     "image.photo"
+
+/* Unknown values */
+#define MS1_UNKNOWN_INT -1
+#define MS1_UNKNOWN_STR ""
+
+/* Root category */
+#define MS1_ROOT ""
+
+typedef enum {
+  MS1_ERROR_GENERAL = 1
+} MS1Error;
+
+/* Type items definition */
+typedef enum {
+  MS1_ITEM_TYPE_UNKNOWN = 0,
+  MS1_ITEM_TYPE_CONTAINER,
+  MS1_ITEM_TYPE_VIDEO,
+  MS1_ITEM_TYPE_MOVIE,
+  MS1_ITEM_TYPE_AUDIO,
+  MS1_ITEM_TYPE_MUSIC,
+  MS1_ITEM_TYPE_IMAGE,
+  MS1_ITEM_TYPE_PHOTO
+} MS1ItemType;
+
+#endif /* _MEDIA_SERVER1_COMMON_H_ */
+
diff --git a/lib/media-server2-introspection.h b/lib/media-server1-introspection.h
similarity index 86%
rename from lib/media-server2-introspection.h
rename to lib/media-server1-introspection.h
index 1a1d593..842509e 100644
--- a/lib/media-server2-introspection.h
+++ b/lib/media-server1-introspection.h
@@ -20,26 +20,26 @@
  *
  */
 
-#ifndef _MEDIA_SERVER2_INTROSPECTION_H_
-#define _MEDIA_SERVER2_INTROSPECTION_H_
+#ifndef _MEDIA_SERVER1_INTROSPECTION_H_
+#define _MEDIA_SERVER1_INTROSPECTION_H_
 
 #define INTROSPECTION_OPEN                                      \
   "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"                  \
   "<node>"                                                      \
-  "  <!-- http://live.gnome.org/Rygel/MediaServer2Spec -->"
+  "  <!-- http://live.gnome.org/Rygel/MediaServerSpec -->"
 
 #define INTROSPECTION_CLOSE                     \
   "</node>"
 
-#define MEDIAOBJECT2_IFACE                                              \
-  "  <interface name=\"org.gnome.UPnP.MediaObject2\">"                  \
+#define MEDIAOBJECT1_IFACE                                              \
+  "  <interface name=\"org.gnome.UPnP.MediaObject1\">"                  \
   "    <property name=\"DisplayName\" type=\"s\" access=\"read\"/>"     \
   "    <property name=\"Parent\"      type=\"o\" access=\"read\"/>"     \
   "    <property name=\"Path\"        type=\"o\" access=\"read\"/>"     \
   "  </interface>"
 
-#define MEDIAITEM2_IFACE                                                \
-  "  <interface name=\"org.gnome.UPnP.MediaItem2\">"                    \
+#define MEDIAITEM1_IFACE                                                \
+  "  <interface name=\"org.gnome.UPnP.MediaItem1\">"                    \
   "    <property name=\"Album\"    type=\"s\"  access=\"read\"/>"       \
   "    <property name=\"Artist\"   type=\"s\"  access=\"read\"/>"       \
   "    <property name=\"Bitrate\"  type=\"i\"  access=\"read\"/>"       \
@@ -52,8 +52,8 @@
   "    <property name=\"Width\"    type=\"i\"  access=\"read\"/>"       \
   "  </interface>"
 
-#define MEDIACONTAINER2_IFACE                                           \
-  "  <interface name=\"org.gnome.UPnP.MediaContainer2\">"               \
+#define MEDIACONTAINER1_IFACE                                           \
+  "  <interface name=\"org.gnome.UPnP.MediaContainer1\">"               \
   "    <method name=\"ListObjects\">"                                   \
   "      <arg name=\"offset\"  direction=\"in\"  type=\"u\"/>"          \
   "      <arg name=\"max\"     direction=\"in\"  type=\"u\"/>"          \
@@ -91,18 +91,18 @@
 
 #define CONTAINER_INTROSPECTION                 \
   INTROSPECTION_OPEN                            \
-  MEDIAOBJECT2_IFACE                            \
-  MEDIACONTAINER2_IFACE                         \
+  MEDIAOBJECT1_IFACE                            \
+  MEDIACONTAINER1_IFACE                         \
   INTROSPECTABLE_IFACE                          \
   PROPERTIES_IFACE                              \
   INTROSPECTION_CLOSE
 
 #define ITEM_INTROSPECTION                      \
   INTROSPECTION_OPEN                            \
-  MEDIAOBJECT2_IFACE                            \
-  MEDIAITEM2_IFACE                              \
+  MEDIAOBJECT1_IFACE                            \
+  MEDIAITEM1_IFACE                              \
   INTROSPECTABLE_IFACE                          \
   PROPERTIES_IFACE                              \
   INTROSPECTION_CLOSE
 
-#endif /* _MEDIA_SERVER2_INTROSPECTION_H_ */
+#endif /* _MEDIA_SERVER1_INTROSPECTION_H_ */
diff --git a/lib/media-server2-observer.c b/lib/media-server1-observer.c
similarity index 78%
rename from lib/media-server2-observer.c
rename to lib/media-server1-observer.c
index 9bf360c..dd24c05 100644
--- a/lib/media-server2-observer.c
+++ b/lib/media-server1-observer.c
@@ -23,15 +23,15 @@
 #include <dbus/dbus-glib-bindings.h>
 #include <dbus/dbus-glib.h>
 
-#include "media-server2-private.h"
-#include "media-server2-observer.h"
-#include "media-server2-client.h"
+#include "media-server1-private.h"
+#include "media-server1-observer.h"
+#include "media-server1-client.h"
 
-#define ENTRY_POINT_NAME "org.gnome.UPnP.MediaServer2."
+#define ENTRY_POINT_NAME "org.gnome.UPnP.MediaServer1."
 #define ENTRY_POINT_NAME_LENGTH 28
 
-#define MS2_OBSERVER_GET_PRIVATE(o)                                     \
-  G_TYPE_INSTANCE_GET_PRIVATE((o), MS2_TYPE_OBSERVER, MS2ObserverPrivate)
+#define MS1_OBSERVER_GET_PRIVATE(o)                                     \
+  G_TYPE_INSTANCE_GET_PRIVATE((o), MS1_TYPE_OBSERVER, MS1ObserverPrivate)
 
 enum {
   NEW,
@@ -39,19 +39,19 @@ enum {
 };
 
 /*
- * Private MS2Observer structure
+ * Private MS1Observer structure
  *   clients: a table with the clients
  *   proxy: proxy to dbus service
  */
-struct _MS2ObserverPrivate {
+struct _MS1ObserverPrivate {
   GHashTable *clients;
   DBusGProxy *proxy;
 };
 
-static MS2Observer *observer_instance = NULL;
+static MS1Observer *observer_instance = NULL;
 static guint32 signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (MS2Observer, ms2_observer, G_TYPE_OBJECT);
+G_DEFINE_TYPE (MS1Observer, ms1_observer, G_TYPE_OBJECT);
 
 /******************** PRIVATE API ********************/
 
@@ -60,21 +60,21 @@ name_owner_changed (DBusGProxy *proxy,
                     const gchar *name,
                     const gchar *old_owner,
                     const gchar *new_owner,
-                    MS2Observer *observer)
+                    MS1Observer *observer)
 {
   GList *clients;
 
   /* Check if it has something to do with the spec */
-  if (!g_str_has_prefix (name, MS2_DBUS_SERVICE_PREFIX)) {
+  if (!g_str_has_prefix (name, MS1_DBUS_SERVICE_PREFIX)) {
     return;
   }
 
-  name += MS2_DBUS_SERVICE_PREFIX_LENGTH;
+  name += MS1_DBUS_SERVICE_PREFIX_LENGTH;
 
   /* Check if it has been removed */
   if (*new_owner == '\0') {
     clients = g_hash_table_lookup (observer->priv->clients, name);
-    g_list_foreach (clients, (GFunc) ms2_client_notify_unref, NULL);
+    g_list_foreach (clients, (GFunc) ms1_client_notify_unref, NULL);
     return;
   }
 
@@ -85,12 +85,12 @@ name_owner_changed (DBusGProxy *proxy,
 }
 
 /* Creates an instance of observer */
-static MS2Observer *
+static MS1Observer *
 create_instance ()
 {
   DBusGConnection *connection;
   GError *error = NULL;
-  MS2Observer *observer;
+  MS1Observer *observer;
 
   connection = dbus_g_bus_get (DBUS_BUS_SESSION, &error);
   if (!connection) {
@@ -99,7 +99,7 @@ create_instance ()
     return NULL;
   }
 
-  observer = g_object_new (MS2_TYPE_OBSERVER, NULL);
+  observer = g_object_new (MS1_TYPE_OBSERVER, NULL);
 
   observer->priv->proxy = dbus_g_proxy_new_for_name (connection,
                                                      DBUS_SERVICE_DBUS,
@@ -124,13 +124,13 @@ create_instance ()
 
 /* Class init function */
 static void
-ms2_observer_class_init (MS2ObserverClass *klass)
+ms1_observer_class_init (MS1ObserverClass *klass)
 {
-  g_type_class_add_private (klass, sizeof (MS2ObserverPrivate));
+  g_type_class_add_private (klass, sizeof (MS1ObserverPrivate));
 
   /**
-   * MS2Observer::observer:
-   * @observer: the #MS2Observer
+   * MS1Observer::observer:
+   * @observer: the #MS1Observer
    * @provider: name of provider that has been added to dbus
    *
    * Notifies when a new provider comes up.
@@ -138,7 +138,7 @@ ms2_observer_class_init (MS2ObserverClass *klass)
   signals[NEW] = g_signal_new ("new",
                                G_TYPE_FROM_CLASS (klass),
                                G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE,
-                               G_STRUCT_OFFSET (MS2ObserverClass, new),
+                               G_STRUCT_OFFSET (MS1ObserverClass, new),
                                NULL,
                                NULL,
                                g_cclosure_marshal_VOID__STRING,
@@ -149,9 +149,9 @@ ms2_observer_class_init (MS2ObserverClass *klass)
 
 /* Object init function */
 static void
-ms2_observer_init (MS2Observer *client)
+ms1_observer_init (MS1Observer *client)
 {
-  client->priv = MS2_OBSERVER_GET_PRIVATE (client);
+  client->priv = MS1_OBSERVER_GET_PRIVATE (client);
   client->priv->clients = g_hash_table_new_full (g_str_hash,
                                                  g_str_equal,
                                                  g_free,
@@ -162,13 +162,13 @@ ms2_observer_init (MS2Observer *client)
 
 /* Register a client */
 void
-ms2_observer_add_client (MS2Client *client,
+ms1_observer_add_client (MS1Client *client,
                          const gchar *provider)
 {
   GList *clients;
-  MS2Observer *observer;
+  MS1Observer *observer;
 
-  observer = ms2_observer_get_instance ();
+  observer = ms1_observer_get_instance ();
   if (!observer) {
     return;
   }
@@ -180,14 +180,14 @@ ms2_observer_add_client (MS2Client *client,
 
 /* Remove a client */
 void
-ms2_observer_remove_client (MS2Client *client,
+ms1_observer_remove_client (MS1Client *client,
                             const gchar *provider)
 {
   GList *clients;
   GList *remove_client;
-  MS2Observer *observer;
+  MS1Observer *observer;
 
-  observer = ms2_observer_get_instance ();
+  observer = ms1_observer_get_instance ();
   if (!observer) {
     return;
   }
@@ -208,13 +208,13 @@ ms2_observer_remove_client (MS2Client *client,
 /******************** PUBLIC API ********************/
 
 /**
- * ms2_observer_get_instance:
+ * ms1_observer_get_instance:
  *
  * Returns the observer instance
  *
  * Returns: the observer instance or @NULL if it could not be created
  **/
-MS2Observer *ms2_observer_get_instance ()
+MS1Observer *ms1_observer_get_instance ()
 {
   if (!observer_instance) {
     observer_instance = create_instance ();
diff --git a/lib/media-server2-observer.h b/lib/media-server1-observer.h
similarity index 51%
rename from lib/media-server2-observer.h
rename to lib/media-server1-observer.h
index 619c136..ffec8bf 100644
--- a/lib/media-server2-observer.h
+++ b/lib/media-server1-observer.h
@@ -20,64 +20,64 @@
  *
  */
 
-#ifndef _MEDIA_SERVER2_OBSERVER_H_
-#define _MEDIA_SERVER2_OBSERVER_H_
+#ifndef _MEDIA_SERVER1_OBSERVER_H_
+#define _MEDIA_SERVER1_OBSERVER_H_
 
 /* #include <gio/gio.h> */
 #include <glib-object.h>
 /* #include <glib.h> */
 
-#include "media-server2-common.h"
+#include "media-server1-common.h"
 
-#define MS2_TYPE_OBSERVER                       \
-  (ms2_observer_get_type ())
+#define MS1_TYPE_OBSERVER                       \
+  (ms1_observer_get_type ())
 
-#define MS2_OBSERVER(obj)                               \
+#define MS1_OBSERVER(obj)                               \
   (G_TYPE_CHECK_INSTANCE_CAST ((obj),                   \
-                               MS2_TYPE_OBSERVER,       \
-                               MS2Observer))
+                               MS1_TYPE_OBSERVER,       \
+                               MS1Observer))
 
-#define MS2_IS_OBSERVER(obj)                            \
+#define MS1_IS_OBSERVER(obj)                            \
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj),                   \
-                               MS2_TYPE_OBSERVER))
+                               MS1_TYPE_OBSERVER))
 
-#define MS2_OBSERVER_CLASS(klass)               \
+#define MS1_OBSERVER_CLASS(klass)               \
   (G_TYPE_CHECK_CLASS_CAST((klass),             \
-                           MS2_TYPE_OBSERVER,   \
-                           MS2ObserverClass))
+                           MS1_TYPE_OBSERVER,   \
+                           MS1ObserverClass))
 
-#define MS2_IS_OBSERVER_CLASS(klass)            \
+#define MS1_IS_OBSERVER_CLASS(klass)            \
   (G_TYPE_CHECK_CLASS_TYPE((klass),             \
-                           MS2_TYPE_OBSERVER))
+                           MS1_TYPE_OBSERVER))
 
-#define MS2_OBSERVER_GET_CLASS(obj)                     \
+#define MS1_OBSERVER_GET_CLASS(obj)                     \
   (G_TYPE_INSTANCE_GET_CLASS ((obj),                    \
-                              MS2_TYPE_OBSERVER,        \
-                              MS2ObserverClass))
+                              MS1_TYPE_OBSERVER,        \
+                              MS1ObserverClass))
 
-typedef struct _MS2Observer        MS2Observer;
-typedef struct _MS2ObserverPrivate MS2ObserverPrivate;
+typedef struct _MS1Observer        MS1Observer;
+typedef struct _MS1ObserverPrivate MS1ObserverPrivate;
 
-struct _MS2Observer {
+struct _MS1Observer {
 
   GObject parent;
 
   /*< private >*/
-  MS2ObserverPrivate *priv;
+  MS1ObserverPrivate *priv;
 };
 
-typedef struct _MS2ObserverClass MS2ObserverClass;
+typedef struct _MS1ObserverClass MS1ObserverClass;
 
-struct _MS2ObserverClass {
+struct _MS1ObserverClass {
 
   GObjectClass parent_class;
 
-  void (*new) (MS2Observer *observer,
+  void (*new) (MS1Observer *observer,
                const gchar *provider);
 };
 
-GType ms2_observer_get_type (void);
+GType ms1_observer_get_type (void);
 
-MS2Observer *ms2_observer_get_instance (void);
+MS1Observer *ms1_observer_get_instance (void);
 
-#endif /* _MEDIA_SERVER2_OBSERVER_H_ */
+#endif /* _MEDIA_SERVER1_OBSERVER_H_ */
diff --git a/lib/media-server2-private.h b/lib/media-server1-private.h
similarity index 67%
rename from lib/media-server2-private.h
rename to lib/media-server1-private.h
index b136c63..e664f3d 100644
--- a/lib/media-server2-private.h
+++ b/lib/media-server1-private.h
@@ -20,26 +20,26 @@
  *
  */
 
-#ifndef _MEDIA_SERVER2_PRIVATE_H_
-#define _MEDIA_SERVER2_PRIVATE_H_
+#ifndef _MEDIA_SERVER1_PRIVATE_H_
+#define _MEDIA_SERVER1_PRIVATE_H_
 
-#define MS2_DBUS_SERVICE_PREFIX "org.gnome.UPnP.MediaServer2."
-#define MS2_DBUS_PATH_PREFIX    "/org/gnome/UPnP/MediaServer2/"
+#define MS1_DBUS_SERVICE_PREFIX "org.gnome.UPnP.MediaServer1."
+#define MS1_DBUS_PATH_PREFIX    "/org/gnome/UPnP/MediaServer1/"
 
-#define MS2_DBUS_SERVICE_PREFIX_LENGTH 28
+#define MS1_DBUS_SERVICE_PREFIX_LENGTH 28
 
-#define MS2_DBUS_IFACE "org.gnome.UPnP.MediaServer"
+#define MS1_DBUS_IFACE "org.gnome.UPnP.MediaServer"
 
-#include "media-server2-server.h"
-#include "media-server2-client.h"
+#include "media-server1-server.h"
+#include "media-server1-client.h"
 
-gboolean ms2_server_get_properties (MS2Server *server,
+gboolean ms1_server_get_properties (MS1Server *server,
                                     const gchar *id,
                                     const gchar **filter,
                                     DBusGMethodInvocation *context,
                                     GError **error);
 
-gboolean ms2_server_get_children (MS2Server *server,
+gboolean ms1_server_get_children (MS1Server *server,
                                   const gchar *id,
                                   guint offset,
                                   gint max_count,
@@ -47,10 +47,10 @@ gboolean ms2_server_get_children (MS2Server *server,
                                   DBusGMethodInvocation *context,
                                   GError **error);
 
-void ms2_client_notify_unref (MS2Client *client);
+void ms1_client_notify_unref (MS1Client *client);
 
-void ms2_observer_add_client (MS2Client *client, const gchar *provider);
+void ms1_observer_add_client (MS1Client *client, const gchar *provider);
 
-void ms2_observer_remove_client (MS2Client *client, const gchar *provider);
+void ms1_observer_remove_client (MS1Client *client, const gchar *provider);
 
-#endif /* _MEDIA_SERVER2_PRIVATE_H_ */
+#endif /* _MEDIA_SERVER1_PRIVATE_H_ */
diff --git a/lib/media-server2-server-table.c b/lib/media-server1-server-table.c
similarity index 72%
rename from lib/media-server2-server-table.c
rename to lib/media-server1-server-table.c
index 0aab4b4..1fbe0f2 100644
--- a/lib/media-server2-server-table.c
+++ b/lib/media-server1-server-table.c
@@ -22,8 +22,8 @@
 
 #include <dbus/dbus-glib-bindings.h>
 
-#include "media-server2-server.h"
-#include "media-server2-private.h"
+#include "media-server1-server.h"
+#include "media-server1-private.h"
 
 #define DBUS_TYPE_G_ARRAY_OF_STRING                             \
   (dbus_g_type_get_collection ("GPtrArray", G_TYPE_STRING))
@@ -81,25 +81,25 @@ ptrarray_to_value (GPtrArray *array)
 
 /* Returns an object path from an id */
 static gchar *
-id_to_object_path (MS2Server *server,
+id_to_object_path (MS1Server *server,
                    const gchar *id,
                    gboolean is_container)
 {
   gchar *object_path;
 
   /* Root container */
-  if (g_strcmp0 (id, MS2_ROOT) == 0) {
-    object_path = g_strconcat (MS2_DBUS_PATH_PREFIX,
-                               ms2_server_get_name (server),
+  if (g_strcmp0 (id, MS1_ROOT) == 0) {
+    object_path = g_strconcat (MS1_DBUS_PATH_PREFIX,
+                               ms1_server_get_name (server),
                                NULL);
   } else {
     if (is_container) {
-      object_path = g_strdup_printf (MS2_DBUS_PATH_PREFIX "%s/containers/%d",
-                                     ms2_server_get_name (server),
+      object_path = g_strdup_printf (MS1_DBUS_PATH_PREFIX "%s/containers/%d",
+                                     ms1_server_get_name (server),
                                      g_quark_from_string (id));
     } else {
-      object_path = g_strdup_printf (MS2_DBUS_PATH_PREFIX "%s/items/%d",
-                                     ms2_server_get_name (server),
+      object_path = g_strdup_printf (MS1_DBUS_PATH_PREFIX "%s/items/%d",
+                                     ms1_server_get_name (server),
                                      g_quark_from_string (id));
     }
   }
@@ -110,14 +110,14 @@ id_to_object_path (MS2Server *server,
 /********************* PUBLIC API *********************/
 
 /**
- * ms2_server_new_properties_hashtable:
+ * ms1_server_new_properties_hashtable:
  *
  * Creates a new #GHashTable suitable to store items properties.
  *
  * Returns: a new #GHashTable
  **/
 GHashTable *
-ms2_server_new_properties_hashtable ()
+ms1_server_new_properties_hashtable ()
 {
   GHashTable *properties;
 
@@ -130,8 +130,8 @@ ms2_server_new_properties_hashtable ()
 }
 
 /**
- * ms2_server_set_path:
- * @server: a #MS2Server
+ * ms1_server_set_path:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @id: identifier value
  * @is_container: @TRUE if the @id identifies a container
@@ -141,26 +141,26 @@ ms2_server_new_properties_hashtable ()
  * @id will be transformed in an object path
  **/
 void
-ms2_server_set_path (MS2Server *server,
+ms1_server_set_path (MS1Server *server,
                      GHashTable *properties,
                      const gchar *id,
                      gboolean is_container)
 {
   gchar *object_path;
 
-  g_return_if_fail (MS2_IS_SERVER (server));
+  g_return_if_fail (MS1_IS_SERVER (server));
   g_return_if_fail (properties);
 
   if (id) {
     object_path = id_to_object_path (server, id, is_container);
-    g_hash_table_insert (properties, MS2_PROP_PATH, str_to_value (object_path));
+    g_hash_table_insert (properties, MS1_PROP_PATH, str_to_value (object_path));
     g_free (object_path);
   }
 }
 
 /**
- * ms2_server_set_parent:
- * @server: a #MS2Server
+ * ms1_server_set_parent:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @parent: parent value
  *
@@ -169,34 +169,34 @@ ms2_server_set_path (MS2Server *server,
  * @parent will be transformed in an object path.
  **/
 void
-ms2_server_set_parent (MS2Server *server,
+ms1_server_set_parent (MS1Server *server,
                        GHashTable *properties,
                        const gchar *parent)
 {
   gchar *object_path;
 
-  g_return_if_fail (MS2_IS_SERVER (server));
+  g_return_if_fail (MS1_IS_SERVER (server));
   g_return_if_fail (properties);
 
   if (parent) {
     object_path = id_to_object_path (server, parent, TRUE);
     g_hash_table_insert (properties,
-                         MS2_PROP_PARENT,
+                         MS1_PROP_PARENT,
                          str_to_value (object_path));
     g_free (object_path);
   }
 }
 
 /**
- * ms2_server_set_display_name:
- * @server: a #MS2Server
+ * ms1_server_set_display_name:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @display_name: display name value
  *
  * Sets the "display-name" property. Mandatory property.
  **/
 void
-ms2_server_set_display_name (MS2Server *server,
+ms1_server_set_display_name (MS1Server *server,
                              GHashTable *properties,
                              const gchar *display_name)
 {
@@ -204,14 +204,14 @@ ms2_server_set_display_name (MS2Server *server,
 
   if (display_name) {
     g_hash_table_insert (properties,
-                         MS2_PROP_DISPLAY_NAME,
+                         MS1_PROP_DISPLAY_NAME,
                          str_to_value (display_name));
   }
 }
 
 /**
- * ms2_server_set_item_type:
- * @server: a #MS2Server
+ * ms1_server_set_item_type:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @type: type of item
  *
@@ -220,57 +220,57 @@ ms2_server_set_display_name (MS2Server *server,
  * Tells what kind of object we are dealing with.
  **/
 void
-ms2_server_set_item_type (MS2Server *server,
+ms1_server_set_item_type (MS1Server *server,
                           GHashTable *properties,
-                          MS2ItemType type)
+                          MS1ItemType type)
 {
   g_return_if_fail (properties);
 
   switch (type) {
-  case MS2_ITEM_TYPE_UNKNOWN:
+  case MS1_ITEM_TYPE_UNKNOWN:
     /* Do not handle unknown values */
     break;
-  case MS2_ITEM_TYPE_CONTAINER:
+  case MS1_ITEM_TYPE_CONTAINER:
     g_hash_table_insert (properties,
-                         MS2_PROP_TYPE,
-                         str_to_value (MS2_TYPE_CONTAINER));
+                         MS1_PROP_TYPE,
+                         str_to_value (MS1_TYPE_CONTAINER));
     break;
-  case MS2_ITEM_TYPE_VIDEO:
+  case MS1_ITEM_TYPE_VIDEO:
     g_hash_table_insert (properties,
-                         MS2_PROP_TYPE,
-                         str_to_value (MS2_TYPE_VIDEO));
+                         MS1_PROP_TYPE,
+                         str_to_value (MS1_TYPE_VIDEO));
     break;
-  case MS2_ITEM_TYPE_MOVIE:
+  case MS1_ITEM_TYPE_MOVIE:
     g_hash_table_insert (properties,
-                         MS2_PROP_TYPE,
-                         str_to_value (MS2_TYPE_MOVIE));
+                         MS1_PROP_TYPE,
+                         str_to_value (MS1_TYPE_MOVIE));
     break;
-  case MS2_ITEM_TYPE_AUDIO:
+  case MS1_ITEM_TYPE_AUDIO:
     g_hash_table_insert (properties,
-                         MS2_PROP_TYPE,
-                         str_to_value (MS2_TYPE_AUDIO));
+                         MS1_PROP_TYPE,
+                         str_to_value (MS1_TYPE_AUDIO));
     break;
-  case MS2_ITEM_TYPE_MUSIC:
+  case MS1_ITEM_TYPE_MUSIC:
     g_hash_table_insert (properties,
-                         MS2_PROP_TYPE,
-                         str_to_value (MS2_TYPE_MUSIC));
+                         MS1_PROP_TYPE,
+                         str_to_value (MS1_TYPE_MUSIC));
     break;
-  case MS2_ITEM_TYPE_IMAGE:
+  case MS1_ITEM_TYPE_IMAGE:
     g_hash_table_insert (properties,
-                         MS2_PROP_TYPE,
-                         str_to_value (MS2_TYPE_IMAGE));
+                         MS1_PROP_TYPE,
+                         str_to_value (MS1_TYPE_IMAGE));
     break;
-  case MS2_ITEM_TYPE_PHOTO:
+  case MS1_ITEM_TYPE_PHOTO:
     g_hash_table_insert (properties,
-                         MS2_PROP_TYPE,
-                         str_to_value (MS2_TYPE_PHOTO));
+                         MS1_PROP_TYPE,
+                         str_to_value (MS1_TYPE_PHOTO));
     break;
   }
 }
 
 /**
- * ms2_server_set_icon:ç
- * @server: a #MS2Server
+ * ms1_server_set_icon:ç
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @icon: icon identifier value
  *
@@ -280,7 +280,7 @@ ms2_server_set_item_type (MS2Server *server,
  * provider. This is only relevant to root container.
  **/
 void
-ms2_server_set_icon (MS2Server *server,
+ms1_server_set_icon (MS1Server *server,
                      GHashTable *properties,
                      const gchar *icon)
 {
@@ -288,21 +288,21 @@ ms2_server_set_icon (MS2Server *server,
 
   if (icon) {
     g_hash_table_insert (properties,
-                         MS2_PROP_ICON,
+                         MS1_PROP_ICON,
                          str_to_value (icon));
   }
 }
 
 /**
- * ms2_server_set_mime_type:
- * @server: a #MS2Server
+ * ms1_server_set_mime_type:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @mime_type: mime type value
  *
  * Sets the "mime-type" property. Mandatory property for items.
  **/
 void
-ms2_server_set_mime_type (MS2Server *server,
+ms1_server_set_mime_type (MS1Server *server,
                           GHashTable *properties,
                           const gchar *mime_type)
 {
@@ -310,21 +310,21 @@ ms2_server_set_mime_type (MS2Server *server,
 
   if (mime_type) {
     g_hash_table_insert (properties,
-                         MS2_PROP_MIME_TYPE,
+                         MS1_PROP_MIME_TYPE,
                          str_to_value (mime_type));
   }
 }
 
 /**
- * ms2_server_set_artist:
- * @server: a #MS2Server
+ * ms1_server_set_artist:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @artist: artist value
  *
  * Sets the "artist" property. Recommended property for items.
  **/
 void
-ms2_server_set_artist (MS2Server *server,
+ms1_server_set_artist (MS1Server *server,
                        GHashTable *properties,
                        const gchar *artist)
 {
@@ -332,21 +332,21 @@ ms2_server_set_artist (MS2Server *server,
 
   if (artist) {
     g_hash_table_insert (properties,
-                         MS2_PROP_ARTIST,
+                         MS1_PROP_ARTIST,
                          str_to_value (artist));
   }
 }
 
 /**
- * ms2_server_set_album:
- * @server: a #MS2Server
+ * ms1_server_set_album:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @album: album value
  *
  * Sets the "album" property. Recommended property for items.
  **/
 void
-ms2_server_set_album (MS2Server *server,
+ms1_server_set_album (MS1Server *server,
                       GHashTable *properties,
                       const gchar *album)
 {
@@ -354,14 +354,14 @@ ms2_server_set_album (MS2Server *server,
 
   if (album) {
     g_hash_table_insert (properties,
-                         MS2_PROP_ALBUM,
+                         MS1_PROP_ALBUM,
                          str_to_value (album));
   }
 }
 
 /**
- * ms2_server_set_date:
- * @server: a #MS2Server
+ * ms1_server_set_date:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @date: date value
  *
@@ -371,7 +371,7 @@ ms2_server_set_album (MS2Server *server,
  * and RFC-3339.
  **/
 void
-ms2_server_set_date (MS2Server *server,
+ms1_server_set_date (MS1Server *server,
                      GHashTable *properties,
                      const gchar *date)
 {
@@ -379,14 +379,14 @@ ms2_server_set_date (MS2Server *server,
 
   if (date) {
     g_hash_table_insert (properties,
-                         MS2_PROP_ALBUM,
+                         MS1_PROP_ALBUM,
                          str_to_value (date));
   }
 }
 
 /**
- * ms2_server_set_dlna_profile:
- * @server: a #MS2Server
+ * ms1_server_set_dlna_profile:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @dlna_profile: DLNA value
  *
@@ -396,7 +396,7 @@ ms2_server_set_date (MS2Server *server,
  * guessing of its value by UPnP consumers.
  **/
 void
-ms2_server_set_dlna_profile (MS2Server *server,
+ms1_server_set_dlna_profile (MS1Server *server,
                              GHashTable *properties,
                              const gchar *dlna_profile)
 {
@@ -404,21 +404,21 @@ ms2_server_set_dlna_profile (MS2Server *server,
 
   if (dlna_profile) {
     g_hash_table_insert (properties,
-                         MS2_PROP_DLNA_PROFILE,
+                         MS1_PROP_DLNA_PROFILE,
                          str_to_value (dlna_profile));
   }
 }
 
 /**
- * ms2_server_set_thumbnail:
- * @server: a #MS2Server
+ * ms1_server_set_thumbnail:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @thumbnail: thumbnail identifier value
  *
  * Sets the "thumbnail" property. Optional property for video/image items.
  **/
 void
-ms2_server_set_thumbnail (MS2Server *server,
+ms1_server_set_thumbnail (MS1Server *server,
                           GHashTable *properties,
                           const gchar *thumbnail)
 {
@@ -426,21 +426,21 @@ ms2_server_set_thumbnail (MS2Server *server,
 
   if (thumbnail) {
     g_hash_table_insert (properties,
-                         MS2_PROP_THUMBNAIL,
+                         MS1_PROP_THUMBNAIL,
                          str_to_value (thumbnail));
   }
 }
 
 /**
- * ms2_server_set_genre:
- * @server: a #MS2Server
+ * ms1_server_set_genre:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @genre: genre value
  *
  * Sets the "genre" property. Optional property for audio/music items.
  **/
 void
-ms2_server_set_genre (MS2Server *server,
+ms1_server_set_genre (MS1Server *server,
                       GHashTable *properties,
                       const gchar *genre)
 {
@@ -448,14 +448,14 @@ ms2_server_set_genre (MS2Server *server,
 
   if (genre) {
     g_hash_table_insert (properties,
-                         MS2_PROP_GENRE,
+                         MS1_PROP_GENRE,
                          str_to_value (genre));
   }
 }
 
 /**
- * ms2_server_set_child_count:
- * @server: a #MS2Server
+ * ms1_server_set_child_count:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @child_count: childcount value
  *
@@ -464,20 +464,20 @@ ms2_server_set_genre (MS2Server *server,
  * It is the number of media objects directly under this container.
  **/
 void
-ms2_server_set_child_count (MS2Server *server,
+ms1_server_set_child_count (MS1Server *server,
                             GHashTable *properties,
                             gint child_count)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS2_PROP_CHILD_COUNT,
+                       MS1_PROP_CHILD_COUNT,
                        int_to_value (child_count));
 }
 
 /**
- * ms2_server_set_size:
- * @server: a #MS2Server
+ * ms1_server_set_size:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @size: size value
  *
@@ -486,60 +486,60 @@ ms2_server_set_child_count (MS2Server *server,
  * It is the resource size in bytes.
  **/
 void
-ms2_server_set_size (MS2Server *server,
+ms1_server_set_size (MS1Server *server,
                      GHashTable *properties,
                      gint size)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS2_PROP_SIZE,
+                       MS1_PROP_SIZE,
                        int_to_value (size));
 }
 
 /**
- * ms2_server_set_duration:
- * @server: a #MS2Server
+ * ms1_server_set_duration:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @duration: duration (in seconds) value
  *
  * Sets the "duration" property. Optional property for audio/video/music items.
  **/
 void
-ms2_server_set_duration (MS2Server *server,
+ms1_server_set_duration (MS1Server *server,
                          GHashTable *properties,
                          gint duration)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS2_PROP_DURATION,
+                       MS1_PROP_DURATION,
                        int_to_value (duration));
 }
 
 /**
- * ms2_server_set_bitrate:
- * @server: a #MS2Server
+ * ms1_server_set_bitrate:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @bitrate: bitrate value
  *
  * Sets the "bitrate" property. Optional property for audio/video/music items.
  **/
 void
-ms2_server_set_bitrate (MS2Server *server,
+ms1_server_set_bitrate (MS1Server *server,
                         GHashTable *properties,
                         gint bitrate)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS2_PROP_BITRATE,
+                       MS1_PROP_BITRATE,
                        int_to_value (bitrate));
 }
 
 /**
- * ms2_server_set_sample_rate:
- * @server: a #MS2Server
+ * ms1_server_set_sample_rate:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @sample_rate: sample rate value
  *
@@ -547,20 +547,20 @@ ms2_server_set_bitrate (MS2Server *server,
  * items.
  **/
 void
-ms2_server_set_sample_rate (MS2Server *server,
+ms1_server_set_sample_rate (MS1Server *server,
                             GHashTable *properties,
                             gint sample_rate)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS2_PROP_SAMPLE_RATE,
+                       MS1_PROP_SAMPLE_RATE,
                        int_to_value (sample_rate));
 }
 
 /**
- * ms2_server_set_bits_per_sample:
- * @server: a #MS2Server
+ * ms1_server_set_bits_per_sample:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @bits_per_sample: bits per sample value
  *
@@ -568,127 +568,127 @@ ms2_server_set_sample_rate (MS2Server *server,
  * items.
  **/
 void
-ms2_server_set_bits_per_sample (MS2Server *server,
+ms1_server_set_bits_per_sample (MS1Server *server,
                                 GHashTable *properties,
                                 gint bits_per_sample)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS2_PROP_BITS_PER_SAMPLE,
+                       MS1_PROP_BITS_PER_SAMPLE,
                        int_to_value (bits_per_sample));
 }
 
 /**
- * ms2_server_set_width:
- * @server: a #MS2Server
+ * ms1_server_set_width:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @width: width (in pixels) value
  *
  * Sets the "width" property. Recommended property for video/image items.
  **/
 void
-ms2_server_set_width (MS2Server *server,
+ms1_server_set_width (MS1Server *server,
                       GHashTable *properties,
                       gint width)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS2_PROP_WIDTH,
+                       MS1_PROP_WIDTH,
                        int_to_value (width));
 }
 
 /**
- * ms2_server_set_height:
- * @server: a #MS2Server
+ * ms1_server_set_height:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @height: height (in pixels) value
  *
  * Sets the "height" property. Recommended property for video/image items.
  **/
 void
-ms2_server_set_height (MS2Server *server,
+ms1_server_set_height (MS1Server *server,
                        GHashTable *properties,
                        gint height)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS2_PROP_HEIGHT,
+                       MS1_PROP_HEIGHT,
                        int_to_value (height));
 }
 
 /**
- * ms2_server_set_color_depth:
- * @server: a #MS2Server
+ * ms1_server_set_color_depth:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @depth: color depth value
  *
  * Sets the "color-depth" property. Recommended property for video/image items.
  **/
 void
-ms2_server_set_color_depth (MS2Server *server,
+ms1_server_set_color_depth (MS1Server *server,
                             GHashTable *properties,
                             gint depth)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS2_PROP_COLOR_DEPTH,
+                       MS1_PROP_COLOR_DEPTH,
                        int_to_value (depth));
 }
 
 /**
- * ms2_server_set_pixel_width:
- * @server: a #MS2Server
+ * ms1_server_set_pixel_width:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @pixel_width: pixel width value
  *
  * Sets the "pixel-width" property. Optional property for video/image items.
  **/
 void
-ms2_server_set_pixel_width (MS2Server *server,
+ms1_server_set_pixel_width (MS1Server *server,
                             GHashTable *properties,
                             gint pixel_width)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS2_PROP_PIXEL_WIDTH,
+                       MS1_PROP_PIXEL_WIDTH,
                        int_to_value (pixel_width));
 }
 
 /**
- * ms2_server_set_pixel_height:
- * @server: a #MS2Server
+ * ms1_server_set_pixel_height:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @pixel_height: pixel height value
  *
  * Sets the "pixel-height" property. Optional property for video/image items.
  **/
 void
-ms2_server_set_pixel_height (MS2Server *server,
+ms1_server_set_pixel_height (MS1Server *server,
                              GHashTable *properties,
                              gint pixel_height)
 {
   g_return_if_fail (properties);
 
   g_hash_table_insert (properties,
-                       MS2_PROP_PIXEL_HEIGHT,
+                       MS1_PROP_PIXEL_HEIGHT,
                        int_to_value (pixel_height));
 }
 
 /**
- * ms2_server_set_urls:
- * @server: a #MS2Server
+ * ms1_server_set_urls:
+ * @server: a #MS1Server
  * @properties: a #GHashTable
  * @urls: @NULL-terminated array of URLs values
  *
  * Sets the "URLs" property. Mandatory property for items.
  **/
 void
-ms2_server_set_urls (MS2Server *server,
+ms1_server_set_urls (MS1Server *server,
                      GHashTable *properties,
                      gchar **urls)
 {
@@ -705,7 +705,7 @@ ms2_server_set_urls (MS2Server *server,
     }
 
     g_hash_table_insert (properties,
-                         MS2_PROP_URLS,
+                         MS1_PROP_URLS,
                          ptrarray_to_value (url_array));
   }
 }
diff --git a/lib/media-server2-server.c b/lib/media-server1-server.c
similarity index 81%
rename from lib/media-server2-server.c
rename to lib/media-server1-server.c
index 46adfdc..2388e76 100644
--- a/lib/media-server2-server.c
+++ b/lib/media-server1-server.c
@@ -27,18 +27,18 @@
 #include <string.h>
 #include <stdlib.h>
 
-#include "media-server2-private.h"
-#include "media-server2-server.h"
-#include "media-server2-introspection.h"
+#include "media-server1-private.h"
+#include "media-server1-server.h"
+#include "media-server1-introspection.h"
 
 #define INTROSPECTION_FILE                                              \
-  "/home/jasuarez/Projects/grilo/rygel-grilo/data/media-server2.xml"
+  "/home/jasuarez/Projects/grilo/rygel-grilo/data/media-server1.xml"
 
 #define DBUS_TYPE_G_ARRAY_OF_STRING                             \
   (dbus_g_type_get_collection ("GPtrArray", G_TYPE_STRING))
 
-#define MS2_SERVER_GET_PRIVATE(o)                                       \
-  G_TYPE_INSTANCE_GET_PRIVATE((o), MS2_TYPE_SERVER, MS2ServerPrivate)
+#define MS1_SERVER_GET_PRIVATE(o)                                       \
+  G_TYPE_INSTANCE_GET_PRIVATE((o), MS1_TYPE_SERVER, MS1ServerPrivate)
 
 enum {
   UPDATED,
@@ -46,13 +46,13 @@ enum {
 };
 
 /*
- * Private MS2Server structure
+ * Private MS1Server structure
  *   name: provider name
  *   data: holds stuff for owner
  *   get_children: function to get children
  *   get_properties: function to get properties
  */
-struct _MS2ServerPrivate {
+struct _MS1ServerPrivate {
   gchar *name;
   gpointer *data;
   GetChildrenFunc get_children;
@@ -65,26 +65,26 @@ static const gchar get_sgn[]  = { DBUS_TYPE_STRING, DBUS_TYPE_STRING, DBUS_TYPE_
 static const gchar getall_sgn[] = { DBUS_TYPE_STRING, DBUS_TYPE_INVALID };
 static const gchar listobjects_sgn[] = { DBUS_TYPE_UINT32, DBUS_TYPE_UINT32, DBUS_TYPE_ARRAY, DBUS_TYPE_STRING, DBUS_TYPE_INVALID };
 
-static const gchar *mediaobject2_properties[] = { MS2_PROP_DISPLAY_NAME,
-                                                  MS2_PROP_PARENT,
-                                                  MS2_PROP_PATH,
+static const gchar *mediaobject1_properties[] = { MS1_PROP_DISPLAY_NAME,
+                                                  MS1_PROP_PARENT,
+                                                  MS1_PROP_PATH,
                                                   NULL };
 
-static const gchar *mediaitem2_properties[] = { MS2_PROP_ALBUM,
-                                                MS2_PROP_ARTIST,
-                                                MS2_PROP_BITRATE,
-                                                MS2_PROP_DURATION,
-                                                MS2_PROP_GENRE,
-                                                MS2_PROP_HEIGHT,
-                                                MS2_PROP_MIME_TYPE,
-                                                MS2_PROP_TYPE,
-                                                MS2_PROP_URLS,
-                                                MS2_PROP_WIDTH,
+static const gchar *mediaitem1_properties[] = { MS1_PROP_ALBUM,
+                                                MS1_PROP_ARTIST,
+                                                MS1_PROP_BITRATE,
+                                                MS1_PROP_DURATION,
+                                                MS1_PROP_GENRE,
+                                                MS1_PROP_HEIGHT,
+                                                MS1_PROP_MIME_TYPE,
+                                                MS1_PROP_TYPE,
+                                                MS1_PROP_URLS,
+                                                MS1_PROP_WIDTH,
                                                 NULL };
 
 static guint32 signals[LAST_SIGNAL] = { 0 };
 
-G_DEFINE_TYPE (MS2Server, ms2_server, G_TYPE_OBJECT);
+G_DEFINE_TYPE (MS1Server, ms1_server, G_TYPE_OBJECT);
 
 /******************** PRIVATE API ********************/
 
@@ -164,23 +164,23 @@ properties_lookup_with_default (GHashTable *properties,
   /* Initialize data */
   if (!int_type_properties) {
     int_type_properties = g_new (gchar *, 12);
-    int_type_properties[0] = (gchar *) g_intern_static_string (MS2_PROP_CHILD_COUNT);
-    int_type_properties[1] = (gchar *) g_intern_static_string (MS2_PROP_SIZE);
-    int_type_properties[2] = (gchar *) g_intern_static_string (MS2_PROP_DURATION);
-    int_type_properties[3] = (gchar *) g_intern_static_string (MS2_PROP_BITRATE);
-    int_type_properties[4] = (gchar *) g_intern_static_string (MS2_PROP_SAMPLE_RATE);
-    int_type_properties[5] = (gchar *) g_intern_static_string (MS2_PROP_BITS_PER_SAMPLE);
-    int_type_properties[6] = (gchar *) g_intern_static_string (MS2_PROP_WIDTH);
-    int_type_properties[7] = (gchar *) g_intern_static_string (MS2_PROP_HEIGHT);
-    int_type_properties[8] = (gchar *) g_intern_static_string (MS2_PROP_COLOR_DEPTH);
-    int_type_properties[9] = (gchar *) g_intern_static_string (MS2_PROP_PIXEL_WIDTH);
-    int_type_properties[10] = (gchar *) g_intern_static_string (MS2_PROP_PIXEL_HEIGHT);
+    int_type_properties[0] = (gchar *) g_intern_static_string (MS1_PROP_CHILD_COUNT);
+    int_type_properties[1] = (gchar *) g_intern_static_string (MS1_PROP_SIZE);
+    int_type_properties[2] = (gchar *) g_intern_static_string (MS1_PROP_DURATION);
+    int_type_properties[3] = (gchar *) g_intern_static_string (MS1_PROP_BITRATE);
+    int_type_properties[4] = (gchar *) g_intern_static_string (MS1_PROP_SAMPLE_RATE);
+    int_type_properties[5] = (gchar *) g_intern_static_string (MS1_PROP_BITS_PER_SAMPLE);
+    int_type_properties[6] = (gchar *) g_intern_static_string (MS1_PROP_WIDTH);
+    int_type_properties[7] = (gchar *) g_intern_static_string (MS1_PROP_HEIGHT);
+    int_type_properties[8] = (gchar *) g_intern_static_string (MS1_PROP_COLOR_DEPTH);
+    int_type_properties[9] = (gchar *) g_intern_static_string (MS1_PROP_PIXEL_WIDTH);
+    int_type_properties[10] = (gchar *) g_intern_static_string (MS1_PROP_PIXEL_HEIGHT);
     int_type_properties[11] = NULL;
   }
 
   if (!gptrarray_type_properties) {
     gptrarray_type_properties = g_new (gchar *, 2);
-    gptrarray_type_properties[0] = (gchar *) g_intern_static_string (MS2_PROP_URLS);
+    gptrarray_type_properties[0] = (gchar *) g_intern_static_string (MS1_PROP_URLS);
     gptrarray_type_properties[1] = NULL;
   }
 
@@ -197,13 +197,13 @@ properties_lookup_with_default (GHashTable *properties,
   /* Use a default value */
   intern_property = g_intern_string (property);
   if (lookup_in_strv (int_type_properties, intern_property)) {
-    ret_value = int_to_value (MS2_UNKNOWN_INT);
+    ret_value = int_to_value (MS1_UNKNOWN_INT);
   } else if (lookup_in_strv (gptrarray_type_properties, intern_property)) {
     ptrarray = g_ptr_array_sized_new (1);
-    g_ptr_array_add (ptrarray, g_strdup (MS2_UNKNOWN_STR));
+    g_ptr_array_add (ptrarray, g_strdup (MS1_UNKNOWN_STR));
     ret_value = ptrarray_to_value (ptrarray);
   } else {
-    ret_value = str_to_value (MS2_UNKNOWN_STR);
+    ret_value = str_to_value (MS1_UNKNOWN_STR);
   }
 
   return ret_value;
@@ -216,36 +216,36 @@ is_property_valid (const gchar *interface,
   const gchar *prop_intern;
   gboolean found;
   int i;
-  static gchar **mo2_properties_intern = NULL;
-  static gchar **mi2_properties_intern = NULL;
-
-  /* Initialize MediaObject2 properties interns */
-  if (!mo2_properties_intern) {
-    mo2_properties_intern = g_new (gchar *,
-                                   g_strv_length ((gchar **) mediaobject2_properties) + 1);
-    for (i = 0; mediaobject2_properties[i]; i++) {
-      mo2_properties_intern[i] =
-        (gchar *) g_intern_static_string (mediaobject2_properties[i]);
+  static gchar **mo1_properties_intern = NULL;
+  static gchar **mi1_properties_intern = NULL;
+
+  /* Initialize MediaObject1 properties interns */
+  if (!mo1_properties_intern) {
+    mo1_properties_intern = g_new (gchar *,
+                                   g_strv_length ((gchar **) mediaobject1_properties) + 1);
+    for (i = 0; mediaobject1_properties[i]; i++) {
+      mo1_properties_intern[i] =
+        (gchar *) g_intern_static_string (mediaobject1_properties[i]);
     }
-    mo2_properties_intern[i] = NULL;
+    mo1_properties_intern[i] = NULL;
   }
 
-  /* Initialize MediaItem2 properties interns */
-  if (!mi2_properties_intern) {
-    mi2_properties_intern = g_new (gchar *,
-                                   g_strv_length ((gchar **) mediaitem2_properties) + 1);
-    for (i = 0; mediaitem2_properties[i]; i++) {
-      mi2_properties_intern[i] =
-        (gchar *) g_intern_static_string (mediaitem2_properties[i]);
+  /* Initialize MediaItem1 properties interns */
+  if (!mi1_properties_intern) {
+    mi1_properties_intern = g_new (gchar *,
+                                   g_strv_length ((gchar **) mediaitem1_properties) + 1);
+    for (i = 0; mediaitem1_properties[i]; i++) {
+      mi1_properties_intern[i] =
+        (gchar *) g_intern_static_string (mediaitem1_properties[i]);
     }
-    mi2_properties_intern[i] = NULL;
+    mi1_properties_intern[i] = NULL;
   }
 
   prop_intern = g_intern_string (property);
 
-  /* Check MediaObject2 interface */
-  if (!interface || g_strcmp0 (interface, "org.gnome.UPnP.MediaObject2") == 0) {
-    found = lookup_in_strv (mo2_properties_intern, prop_intern);
+  /* Check MediaObject1 interface */
+  if (!interface || g_strcmp0 (interface, "org.gnome.UPnP.MediaObject1") == 0) {
+    found = lookup_in_strv (mo1_properties_intern, prop_intern);
 
     if (found) {
       return TRUE;
@@ -257,21 +257,21 @@ is_property_valid (const gchar *interface,
     }
   }
 
-  /* Check MediaItem2 interface */
-  if (!interface || g_strcmp0 (interface, "org.gnome.UPnP.MediaItem2") == 0) {
-    return lookup_in_strv (mi2_properties_intern, prop_intern);
+  /* Check MediaItem1 interface */
+  if (!interface || g_strcmp0 (interface, "org.gnome.UPnP.MediaItem1") == 0) {
+    return lookup_in_strv (mi1_properties_intern, prop_intern);
   }
 
   return FALSE;
 }
 
 static gchar *
-get_path_from_id (MS2Server *server,
+get_path_from_id (MS1Server *server,
                   const gchar *id)
 {
   gchar *path;
 
-  path = g_strconcat (MS2_DBUS_PATH_PREFIX,
+  path = g_strconcat (MS1_DBUS_PATH_PREFIX,
                       server->priv->name,
                       NULL);
 
@@ -279,7 +279,7 @@ get_path_from_id (MS2Server *server,
 }
 
 static GValue *
-get_property_value (MS2Server *server,
+get_property_value (MS1Server *server,
                     const gchar *id,
                     const gchar *interface,
                     const gchar *property)
@@ -298,7 +298,7 @@ get_property_value (MS2Server *server,
   }
 
   /* If asking for Path, we already can use id */
-  if (g_strcmp0 (property, MS2_PROP_PATH) == 0) {
+  if (g_strcmp0 (property, MS1_PROP_PATH) == 0) {
     v = g_new0 (GValue, 1);
     g_value_init (v, G_TYPE_STRING);
     path = get_path_from_id (server, id);
@@ -331,14 +331,14 @@ get_id_from_message (DBusMessage *m)
   dbus_message_get_path_decomposed (m, &path);
 
   /* Path can of type:
-     /org/gnome/UPnP/MediaServer2/<name>
-     /org/gnome/UPnP/MediaServer2/<name>/items/<id>
-     /org/gnome/UPnP/MediaServer2/<name>/containers/<id>
+     /org/gnome/UPnP/MediaServer1/<name>
+     /org/gnome/UPnP/MediaServer1/<name>/items/<id>
+     /org/gnome/UPnP/MediaServer1/<name>/containers/<id>
   */
   path_length = g_strv_length (path);
 
   if (path_length == 5) {
-    id = g_strdup (MS2_ROOT);
+    id = g_strdup (MS1_ROOT);
   } else if (path_length == 7) {
     id =  g_strdup (g_quark_to_string (atoi (path[6])));
   } else {
@@ -471,7 +471,7 @@ handle_get_message (DBusConnection *c,
   gchar *interface = NULL;
   gchar *property = NULL;
   gchar *id;
-  MS2Server *server = MS2_SERVER (userdata);
+  MS1Server *server = MS1_SERVER (userdata);
 
   /* Check signature */
   if (dbus_message_has_signature (m, get_sgn)) {
@@ -506,7 +506,7 @@ handle_get_all_message (DBusConnection *c,
 {
   DBusMessage *r;
   GHashTable *propresult;
-  MS2Server *server = MS2_SERVER (userdata);
+  MS1Server *server = MS1_SERVER (userdata);
   const gchar **prop;
   gchar *id;
   gchar *interface;
@@ -517,11 +517,11 @@ handle_get_all_message (DBusConnection *c,
                            DBUS_TYPE_STRING, &interface,
                            DBUS_TYPE_INVALID);
     /* Get what properties we should ask */
-    if (g_strcmp0 (interface, "org.gnome.UPnP.MediaObject2") == 0) {
-      prop = mediaobject2_properties;
-    } else if (g_strcmp0 (interface, "org.gnome.UPnP.MediaItem2") == 0) {
-      prop = mediaitem2_properties;
-    } else if (g_strcmp0 (interface, "org.gnome.UPnP.MediaContainer2") == 0) {
+    if (g_strcmp0 (interface, "org.gnome.UPnP.MediaObject1") == 0) {
+      prop = mediaobject1_properties;
+    } else if (g_strcmp0 (interface, "org.gnome.UPnP.MediaItem1") == 0) {
+      prop = mediaitem1_properties;
+    } else if (g_strcmp0 (interface, "org.gnome.UPnP.MediaContainer1") == 0) {
       prop = NULL;
     } else {
       return DBUS_HANDLER_RESULT_NOT_YET_HANDLED;
@@ -567,7 +567,7 @@ handle_list_objects_message (DBusConnection *c,
   guint max_count;
   guint offset;
   gint nitems;
-  MS2Server *server = MS2_SERVER (userdata);
+  MS1Server *server = MS1_SERVER (userdata);
 
   /* Check signature */
   if (dbus_message_has_signature (m, listobjects_sgn)) {
@@ -650,7 +650,7 @@ containers_handler (DBusConnection *c,
                                           "GetAll")) {
     return handle_get_all_message (c, m, userdata);
   } else if (dbus_message_is_method_call (m,
-                                          "org.gnome.UPnP.MediaContainer2",
+                                          "org.gnome.UPnP.MediaContainer1",
                                           "ListObjects")) {
     return handle_list_objects_message (c, m, userdata);
   } else {
@@ -666,9 +666,9 @@ root_handler (DBusConnection *c,
   return containers_handler (c, m, userdata);
 }
 
-/* Registers the MS2Server object in dbus */
+/* Registers the MS1Server object in dbus */
 static gboolean
-ms2_server_dbus_register (MS2Server *server,
+ms1_server_dbus_register (MS1Server *server,
                           const gchar *name)
 {
   DBusConnection *connection;
@@ -696,7 +696,7 @@ ms2_server_dbus_register (MS2Server *server,
   }
 
   /* Request name */
-  dbus_name = g_strconcat (MS2_DBUS_SERVICE_PREFIX, name, NULL);
+  dbus_name = g_strconcat (MS1_DBUS_SERVICE_PREFIX, name, NULL);
   if (dbus_bus_request_name (connection,
                              dbus_name,
                              DBUS_NAME_FLAG_DO_NOT_QUEUE,
@@ -708,7 +708,7 @@ ms2_server_dbus_register (MS2Server *server,
   g_free (dbus_name);
 
   /* Register object paths */
-  dbus_path = g_strconcat (MS2_DBUS_PATH_PREFIX, name, NULL);
+  dbus_path = g_strconcat (MS1_DBUS_PATH_PREFIX, name, NULL);
   dbus_path_items = g_strconcat (dbus_path, "/items", NULL);
   dbus_path_containers = g_strconcat (dbus_path, "/containers", NULL);
 
@@ -726,7 +726,7 @@ ms2_server_dbus_register (MS2Server *server,
 }
 
 static void
-ms2_server_dbus_unregister (MS2Server *server,
+ms1_server_dbus_unregister (MS1Server *server,
                             const gchar *name)
 {
   DBusConnection *connection;
@@ -745,7 +745,7 @@ ms2_server_dbus_unregister (MS2Server *server,
   }
 
   /* Unregister object paths */
-  dbus_path = g_strconcat (MS2_DBUS_PATH_PREFIX, server->priv->name, NULL);
+  dbus_path = g_strconcat (MS1_DBUS_PATH_PREFIX, server->priv->name, NULL);
   dbus_path_items = g_strconcat (dbus_path, "/items", NULL);
   dbus_path_containers = g_strconcat (dbus_path, "/containers", NULL);
   dbus_connection_unregister_object_path (connection, dbus_path);
@@ -756,7 +756,7 @@ ms2_server_dbus_unregister (MS2Server *server,
   g_free (dbus_path_containers);
 
   /* Release name */
-  dbus_name = g_strconcat (MS2_DBUS_SERVICE_PREFIX, server->priv->name, NULL);
+  dbus_name = g_strconcat (MS1_DBUS_SERVICE_PREFIX, server->priv->name, NULL);
   dbus_bus_release_name (connection,
                          dbus_name,
                          NULL);
@@ -765,30 +765,30 @@ ms2_server_dbus_unregister (MS2Server *server,
 }
 
 static void
-ms2_server_finalize (GObject *object)
+ms1_server_finalize (GObject *object)
 {
-  MS2Server *server = MS2_SERVER (object);
+  MS1Server *server = MS1_SERVER (object);
 
-  ms2_server_dbus_unregister (server, server->priv->name);
+  ms1_server_dbus_unregister (server, server->priv->name);
   g_free (server->priv->name);
 
-  G_OBJECT_CLASS (ms2_server_parent_class)->finalize (object);
+  G_OBJECT_CLASS (ms1_server_parent_class)->finalize (object);
 }
 
 /* Class init function */
 static void
-ms2_server_class_init (MS2ServerClass *klass)
+ms1_server_class_init (MS1ServerClass *klass)
 {
   GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
 
-  g_type_class_add_private (klass, sizeof (MS2ServerPrivate));
+  g_type_class_add_private (klass, sizeof (MS1ServerPrivate));
 
-  gobject_class->finalize = ms2_server_finalize;
+  gobject_class->finalize = ms1_server_finalize;
 
   signals[UPDATED] = g_signal_new ("updated",
                                    G_TYPE_FROM_CLASS (klass),
                                    G_SIGNAL_RUN_FIRST | G_SIGNAL_NO_RECURSE,
-                                   G_STRUCT_OFFSET (MS2ServerClass, updated),
+                                   G_STRUCT_OFFSET (MS1ServerClass, updated),
                                    NULL,
                                    NULL,
                                    g_cclosure_marshal_VOID__STRING,
@@ -799,41 +799,41 @@ ms2_server_class_init (MS2ServerClass *klass)
 
 /* Object init function */
 static void
-ms2_server_init (MS2Server *server)
+ms1_server_init (MS1Server *server)
 {
-  server->priv = MS2_SERVER_GET_PRIVATE (server);
+  server->priv = MS1_SERVER_GET_PRIVATE (server);
 }
 
 /********************* PUBLIC API *********************/
 
 /**
- * ms2_server_new:
+ * ms1_server_new:
  * @name: the name used when registered in DBus
  * @data: user defined data
  *
- * Creates a new #MS2Server that will be registered in DBus under name
- * "org.gnome.UPnP.MediaServer2.<name>".
+ * Creates a new #MS1Server that will be registered in DBus under name
+ * "org.gnome.UPnP.MediaServer1.<name>".
  *
  * @data will be used as parameter when invoking the functions to retrieve
  * properties or children.
  *
- * Returns: a new #MS2Server registed in DBus, or @NULL if fails
+ * Returns: a new #MS1Server registed in DBus, or @NULL if fails
  **/
-MS2Server *
-ms2_server_new (const gchar *name,
+MS1Server *
+ms1_server_new (const gchar *name,
                 gpointer data)
 {
-  MS2Server *server;
+  MS1Server *server;
 
   g_return_val_if_fail (name, NULL);
 
-  server = g_object_new (MS2_TYPE_SERVER, NULL);
+  server = g_object_new (MS1_TYPE_SERVER, NULL);
 
   server->priv->data = data;
   server->priv->name = g_strdup (name);
 
   /* Register object in DBus */
-  if (!ms2_server_dbus_register (server, name)) {
+  if (!ms1_server_dbus_register (server, name)) {
     g_object_unref (server);
     return NULL;
   } else {
@@ -842,40 +842,40 @@ ms2_server_new (const gchar *name,
 }
 
 /**
- * ms2_server_set_get_properties_func:
- * @server: a #MS2Server
+ * ms1_server_set_get_properties_func:
+ * @server: a #MS1Server
  * @get_properties_func: user-defined function to request properties
  *
  * Defines which function must be used when requesting properties.
  **/
 void
-ms2_server_set_get_properties_func (MS2Server *server,
+ms1_server_set_get_properties_func (MS1Server *server,
                                     GetPropertiesFunc get_properties_func)
 {
-  g_return_if_fail (MS2_IS_SERVER (server));
+  g_return_if_fail (MS1_IS_SERVER (server));
 
   server->priv->get_properties = get_properties_func;
 }
 
 /**
- * ms2_server_set_get_children_func:
- * @server: a #MS2Server
+ * ms1_server_set_get_children_func:
+ * @server: a #MS1Server
  * @get_children_func: user-defined function to request children
  *
  * Defines which function must be used when requesting children.
  **/
 void
-ms2_server_set_get_children_func (MS2Server *server,
+ms1_server_set_get_children_func (MS1Server *server,
                                   GetChildrenFunc get_children_func)
 {
-  g_return_if_fail (MS2_IS_SERVER (server));
+  g_return_if_fail (MS1_IS_SERVER (server));
 
   server->priv->get_children = get_children_func;
 }
 
 /**
- * ms2_server_updated:
- * @server: a #MS2Server
+ * ms1_server_updated:
+ * @server: a #MS1Server
  * @id: item identifier that has changed
  *
  * Emit a signal notifying an item has changed.
@@ -889,26 +889,26 @@ ms2_server_set_get_children_func (MS2Server *server,
  * this method
  **/
 void
-ms2_server_updated (MS2Server *server,
+ms1_server_updated (MS1Server *server,
                     const gchar *id)
 {
-  g_return_if_fail (MS2_IS_SERVER (server));
+  g_return_if_fail (MS1_IS_SERVER (server));
 
   g_signal_emit (server, signals[UPDATED], 0, id);
 }
 
 /**
- * ms2_server_get_name:
- * @server: a #MS2Server
+ * ms1_server_get_name:
+ * @server: a #MS1Server
  *
  * Returns name used for this server.
  *
  * Returns: server name. Should not be freed.
  **/
 const gchar *
-ms2_server_get_name (MS2Server *server)
+ms1_server_get_name (MS1Server *server)
 {
-  g_return_val_if_fail (MS2_IS_SERVER (server), NULL);
+  g_return_val_if_fail (MS1_IS_SERVER (server), NULL);
 
   return server->priv->name;
 }
diff --git a/lib/media-server2-server.h b/lib/media-server1-server.h
similarity index 62%
rename from lib/media-server2-server.h
rename to lib/media-server1-server.h
index ddbd680..d153ff6 100644
--- a/lib/media-server2-server.h
+++ b/lib/media-server1-server.h
@@ -20,68 +20,68 @@
  *
  */
 
-#ifndef _MEDIA_SERVER2_SERVER_H_
-#define _MEDIA_SERVER2_SERVER_H_
+#ifndef _MEDIA_SERVER1_SERVER_H_
+#define _MEDIA_SERVER1_SERVER_H_
 
 #include <glib.h>
 #include <glib-object.h>
 
-#include <media-server2-common.h>
+#include <media-server1-common.h>
 
-#define MS2_TYPE_SERVER                         \
-  (ms2_server_get_type ())
+#define MS1_TYPE_SERVER                         \
+  (ms1_server_get_type ())
 
-#define MS2_SERVER(obj)                         \
+#define MS1_SERVER(obj)                         \
   (G_TYPE_CHECK_INSTANCE_CAST ((obj),           \
-                               MS2_TYPE_SERVER, \
-                               MS2Server))
+                               MS1_TYPE_SERVER, \
+                               MS1Server))
 
-#define MS2_IS_SERVER(obj)                              \
+#define MS1_IS_SERVER(obj)                              \
   (G_TYPE_CHECK_INSTANCE_TYPE ((obj),                   \
-                               MS2_TYPE_SERVER))
+                               MS1_TYPE_SERVER))
 
-#define MS2_SERVER_CLASS(klass)                 \
+#define MS1_SERVER_CLASS(klass)                 \
   (G_TYPE_CHECK_CLASS_CAST((klass),             \
-                           MS2_TYPE_SERVER,     \
-                           MS2ServerClass))
+                           MS1_TYPE_SERVER,     \
+                           MS1ServerClass))
 
-#define MS2_IS_SERVER_CLASS(klass)              \
+#define MS1_IS_SERVER_CLASS(klass)              \
   (G_TYPE_CHECK_CLASS_TYPE((klass),             \
-                           MS2_TYPE_SERVER))
+                           MS1_TYPE_SERVER))
 
-#define MS2_SERVER_GET_CLASS(obj)               \
+#define MS1_SERVER_GET_CLASS(obj)               \
   (G_TYPE_INSTANCE_GET_CLASS ((obj),            \
-                              MS2_TYPE_SERVER,  \
-                              MS2ServerClass))
+                              MS1_TYPE_SERVER,  \
+                              MS1ServerClass))
 
-typedef struct _MS2Server        MS2Server;
-typedef struct _MS2ServerPrivate MS2ServerPrivate;
+typedef struct _MS1Server        MS1Server;
+typedef struct _MS1ServerPrivate MS1ServerPrivate;
 
-struct _MS2Server {
+struct _MS1Server {
 
   GObject parent;
 
   /*< private >*/
-  MS2ServerPrivate *priv;
+  MS1ServerPrivate *priv;
 };
 
-typedef struct _MS2ServerClass MS2ServerClass;
+typedef struct _MS1ServerClass MS1ServerClass;
 
-struct _MS2ServerClass {
+struct _MS1ServerClass {
 
   GObjectClass parent_class;
 
-  void (*updated) (MS2Server *server,
+  void (*updated) (MS1Server *server,
                    const gchar *id);
 };
 
-typedef GHashTable * (*GetPropertiesFunc) (MS2Server *server,
+typedef GHashTable * (*GetPropertiesFunc) (MS1Server *server,
                                            const gchar *id,
                                            const gchar **properties,
                                            gpointer data,
                                            GError **error);
 
-typedef GList * (*GetChildrenFunc) (MS2Server *server,
+typedef GList * (*GetChildrenFunc) (MS1Server *server,
                                     const gchar *id,
                                     guint offset,
                                     gint max_count,
@@ -89,119 +89,119 @@ typedef GList * (*GetChildrenFunc) (MS2Server *server,
                                     gpointer data,
                                     GError **error);
 
-GType ms2_server_get_type (void);
+GType ms1_server_get_type (void);
 
-MS2Server *ms2_server_new (const gchar *name,
+MS1Server *ms1_server_new (const gchar *name,
                            gpointer data);
 
-void ms2_server_set_get_properties_func (MS2Server *server,
+void ms1_server_set_get_properties_func (MS1Server *server,
                                          GetPropertiesFunc get_properties_func);
 
-void ms2_server_set_get_children_func (MS2Server *server,
+void ms1_server_set_get_children_func (MS1Server *server,
                                        GetChildrenFunc get_children_func);
 
-void ms2_server_updated (MS2Server *server,
+void ms1_server_updated (MS1Server *server,
                          const gchar *id);
 
-const gchar *ms2_server_get_name (MS2Server *server);
+const gchar *ms1_server_get_name (MS1Server *server);
 
-GHashTable *ms2_server_new_properties_hashtable (void);
+GHashTable *ms1_server_new_properties_hashtable (void);
 
-void ms2_server_set_path (MS2Server *server,
+void ms1_server_set_path (MS1Server *server,
                           GHashTable *properties,
                           const gchar *id,
                           gboolean is_container);
 
-void ms2_server_set_parent (MS2Server *server,
+void ms1_server_set_parent (MS1Server *server,
                             GHashTable *properties,
                             const gchar *parent);
 
-void ms2_server_set_display_name (MS2Server *server,
+void ms1_server_set_display_name (MS1Server *server,
                                   GHashTable *properties,
                                   const gchar *display_name);
 
-void ms2_server_set_item_type (MS2Server *server,
+void ms1_server_set_item_type (MS1Server *server,
                                GHashTable *properties,
-                               MS2ItemType type);
+                               MS1ItemType type);
 
-void ms2_server_set_icon (MS2Server *server,
+void ms1_server_set_icon (MS1Server *server,
                           GHashTable *properties,
                           const gchar *icon);
 
-void ms2_server_set_mime_type (MS2Server *server,
+void ms1_server_set_mime_type (MS1Server *server,
                                GHashTable *properties,
                                const gchar *mime_type);
 
-void ms2_server_set_artist (MS2Server *server,
+void ms1_server_set_artist (MS1Server *server,
                             GHashTable *properties,
                             const gchar *artist);
 
-void ms2_server_set_album (MS2Server *server,
+void ms1_server_set_album (MS1Server *server,
                            GHashTable *properties,
                            const gchar *album);
 
-void ms2_server_set_date (MS2Server *server,
+void ms1_server_set_date (MS1Server *server,
                           GHashTable *properties,
                           const gchar *date);
 
-void ms2_server_set_dlna_profile (MS2Server *server,
+void ms1_server_set_dlna_profile (MS1Server *server,
                                   GHashTable *properties,
                                   const gchar *dlna_profile);
 
-void ms2_server_set_thumbnail (MS2Server *server,
+void ms1_server_set_thumbnail (MS1Server *server,
                                GHashTable *properties,
                                const gchar *thumbnail);
 
-void ms2_server_set_genre (MS2Server *server,
+void ms1_server_set_genre (MS1Server *server,
                            GHashTable *properties,
                            const gchar *genre);
 
-void ms2_server_set_child_count (MS2Server *server,
+void ms1_server_set_child_count (MS1Server *server,
                                  GHashTable *properties,
                                  gint child_count);
 
-void ms2_server_set_size (MS2Server *server,
+void ms1_server_set_size (MS1Server *server,
                           GHashTable *properties,
                           gint size);
 
-void ms2_server_set_duration (MS2Server *server,
+void ms1_server_set_duration (MS1Server *server,
                               GHashTable *properties,
                               gint duration);
 
-void ms2_server_set_bitrate (MS2Server *server,
+void ms1_server_set_bitrate (MS1Server *server,
                              GHashTable *properties,
                              gint bitrate);
 
-void ms2_server_set_sample_rate (MS2Server *server,
+void ms1_server_set_sample_rate (MS1Server *server,
                                  GHashTable *properties,
                                  gint sample_rate);
 
-void ms2_server_set_bits_per_sample (MS2Server *server,
+void ms1_server_set_bits_per_sample (MS1Server *server,
                                      GHashTable *properties,
                                      gint bits_per_sample);
 
-void ms2_server_set_width (MS2Server *server,
+void ms1_server_set_width (MS1Server *server,
                            GHashTable *properties,
                            gint width);
 
-void ms2_server_set_height (MS2Server *server,
+void ms1_server_set_height (MS1Server *server,
                             GHashTable *properties,
                             gint height);
 
-void ms2_server_set_color_depth (MS2Server *server,
+void ms1_server_set_color_depth (MS1Server *server,
                                  GHashTable *properties,
                                  gint depth);
 
-void ms2_server_set_pixel_width (MS2Server *server,
+void ms1_server_set_pixel_width (MS1Server *server,
                                  GHashTable *properties,
                                  gint pixel_width);
 
-void ms2_server_set_pixel_height (MS2Server *server,
+void ms1_server_set_pixel_height (MS1Server *server,
                                   GHashTable *properties,
                                   gint pixel_height);
 
-void ms2_server_set_urls (MS2Server *server,
+void ms1_server_set_urls (MS1Server *server,
                           GHashTable *properties,
                           gchar **urls);
 
-#endif /* _MEDIA_SERVER2_SERVER_H_ */
+#endif /* _MEDIA_SERVER1_SERVER_H_ */
diff --git a/src/Makefile.am b/src/Makefile.am
index 3f1c872..2012a8a 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -7,7 +7,7 @@
 
 INCLUDES = @DEPS_CFLAGS@
 
-rygel-grilo-%-glue.h: $(top_srcdir)/data/%2.xml
+rygel-grilo-%-glue.h: $(top_srcdir)/data/%1.xml
 	$(DBUSBINDINGTOOL)			\
 	--mode=glib-server			\
 	--output=$@				\
@@ -28,7 +28,7 @@ rygel_grilo_CFLAGS =			\
 rygel_grilo_LDADD =	\
 	-ldl -lpthread	\
 	@DEPS_LIBS@	\
-	$(top_builddir)/lib/libmediaserver2.la
+	$(top_builddir)/lib/libmediaserver1.la
 
 test_client_SOURCES =	\
 	test-client.c
@@ -40,7 +40,7 @@ test_client_CFLAGS =		\
 test_client_LDADD =	\
 	-ldl -lpthread	\
 	@DEPS_LIBS@	\
-	$(top_builddir)/lib/libmediaserver2.la
+	$(top_builddir)/lib/libmediaserver1.la
 
 MAINTAINERCLEANFILES =	\
 	*.in
diff --git a/src/rygel-grilo.c b/src/rygel-grilo.c
index e32059f..331f4a5 100644
--- a/src/rygel-grilo.c
+++ b/src/rygel-grilo.c
@@ -25,7 +25,7 @@
 #include <grilo.h>
 #include <stdio.h>
 
-#include <media-server2-server.h>
+#include <media-server1-server.h>
 
 #define RYGEL_GRILO_CONFIG_FILE "rygel-grilo.conf"
 
@@ -65,7 +65,7 @@ typedef struct {
   GList *children;
   GList *keys;
   GrlMediaSource *source;
-  MS2Server *server;
+  MS1Server *server;
   gboolean updated;
   gboolean parent_requested;
   gchar *parent_id;
@@ -98,7 +98,7 @@ get_parent_id (const gchar *child_id)
   gchar *parent_id;
   gsize bytes_to_copy;
 
-  if (g_strcmp0 (child_id, MS2_ROOT) == 0) {
+  if (g_strcmp0 (child_id, MS1_ROOT) == 0) {
     return NULL;
   }
 
@@ -107,7 +107,7 @@ get_parent_id (const gchar *child_id)
 
   /* Check if parent is a root */
   if (bytes_to_copy < 6) {
-    return g_strdup (MS2_ROOT);
+    return g_strdup (MS1_ROOT);
   }
 
   /* Save parent id */
@@ -125,7 +125,7 @@ get_grl_id (const gchar *ms_id)
   gchar **offspring;
   gchar *grl_id;
 
-  if (g_strcmp0 (ms_id, MS2_ROOT) == 0) {
+  if (g_strcmp0 (ms_id, MS1_ROOT) == 0) {
     return NULL;
   }
 
@@ -155,12 +155,12 @@ serialize_media (const gchar *parent_id,
 
   /* Check if it is root media */
   if (!media_id) {
-    return g_strdup (MS2_ROOT);
+    return g_strdup (MS1_ROOT);
   }
 
   escaped_id = g_uri_escape_string (media_id, NULL, TRUE);
 
-  if (g_strcmp0 (parent_id, MS2_ROOT) == 0) {
+  if (g_strcmp0 (parent_id, MS1_ROOT) == 0) {
     ms_id = g_strconcat (ID_PREFIX_CONTAINER, escaped_id, NULL);
   } else {
     ms_id = g_strconcat (parent_id, ID_SEPARATOR, escaped_id, NULL);
@@ -186,7 +186,7 @@ unserialize_media (GrlMetadataSource *source, const gchar *id)
   GrlMedia *media = NULL;
   gchar *grl_id;
 
-  if (g_strcmp0 (id, MS2_ROOT) == 0 ||
+  if (g_strcmp0 (id, MS1_ROOT) == 0 ||
       g_str_has_prefix (id, ID_PREFIX_CONTAINER)) {
     media = grl_media_box_new ();
   } else if (g_str_has_prefix (id, ID_PREFIX_AUDIO)) {
@@ -207,7 +207,7 @@ unserialize_media (GrlMetadataSource *source, const gchar *id)
   return media;
 }
 
-/* Given a null-terminated array of MediaServerSpec2 properties, returns a list
+/* Given a null-terminated array of MediaServerSpec1 properties, returns a list
    with the corresponding Grilo metadata keys */
 static GList *
 get_grilo_keys (const gchar **ms_keys, gboolean *contains_parent)
@@ -220,43 +220,43 @@ get_grilo_keys (const gchar **ms_keys, gboolean *contains_parent)
   }
 
   for (i = 0; ms_keys[i]; i++) {
-    if (g_strcmp0 (ms_keys[i], MS2_PROP_PATH) == 0) {
+    if (g_strcmp0 (ms_keys[i], MS1_PROP_PATH) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_ID));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_DISPLAY_NAME) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_DISPLAY_NAME) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_TITLE));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_ALBUM) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_ALBUM) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_ALBUM));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_ARTIST) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_ARTIST) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_ARTIST));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_GENRE) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_GENRE) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_GENRE));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_MIME_TYPE) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_MIME_TYPE) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_MIME));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_CHILD_COUNT) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_CHILD_COUNT) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_CHILDCOUNT));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_URLS) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_URLS) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_URL));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_BITRATE) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_BITRATE) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_BITRATE));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_DURATION) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_DURATION) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_DURATION));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_HEIGHT) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_HEIGHT) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_HEIGHT));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_WIDTH) == 0) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_WIDTH) == 0) {
       grl_keys = g_list_append (grl_keys,
                                 GRLKEYID_TO_POINTER (GRL_METADATA_KEY_WIDTH));
-    } else if (g_strcmp0 (ms_keys[i], MS2_PROP_PARENT) == 0 && contains_parent) {
+    } else if (g_strcmp0 (ms_keys[i], MS1_PROP_PARENT) == 0 && contains_parent) {
       *contains_parent = TRUE;
     }
   }
@@ -265,7 +265,7 @@ get_grilo_keys (const gchar **ms_keys, gboolean *contains_parent)
 }
 
 static void
-fill_properties_table (MS2Server *server,
+fill_properties_table (MS1Server *server,
                        GHashTable *properties_table,
                        GList *keys,
                        GrlMedia *media,
@@ -285,7 +285,7 @@ fill_properties_table (MS2Server *server,
       case GRL_METADATA_KEY_ID:
         id = serialize_media (parent_id, media);
         if (id) {
-          ms2_server_set_path (server,
+          ms1_server_set_path (server,
                                properties_table,
                                id,
                                GRL_IS_MEDIA_BOX (media));
@@ -293,62 +293,62 @@ fill_properties_table (MS2Server *server,
         }
         break;
       case GRL_METADATA_KEY_TITLE:
-        ms2_server_set_display_name (server,
+        ms1_server_set_display_name (server,
                                      properties_table,
                                      grl_media_get_title (media));
         break;
       case GRL_METADATA_KEY_ALBUM:
-        ms2_server_set_album (server,
+        ms1_server_set_album (server,
                               properties_table,
                               grl_data_get_string (GRL_DATA (media),
                                                    GRL_METADATA_KEY_ALBUM));
         break;
       case GRL_METADATA_KEY_ARTIST:
-        ms2_server_set_artist (server,
+        ms1_server_set_artist (server,
                                properties_table,
                                grl_data_get_string (GRL_DATA (media),
                                                     GRL_METADATA_KEY_ARTIST));
         break;
       case GRL_METADATA_KEY_GENRE:
-        ms2_server_set_genre (server,
+        ms1_server_set_genre (server,
                               properties_table,
                               grl_data_get_string (GRL_DATA (media),
                                                    GRL_METADATA_KEY_GENRE));
         break;
       case GRL_METADATA_KEY_MIME:
-        ms2_server_set_mime_type (server,
+        ms1_server_set_mime_type (server,
                                   properties_table,
                                   grl_media_get_mime (media));
         break;
       case GRL_METADATA_KEY_CHILDCOUNT:
-        ms2_server_set_child_count (server,
+        ms1_server_set_child_count (server,
                                     properties_table,
                                     grl_data_get_int (GRL_DATA (media),
                                                       GRL_METADATA_KEY_CHILDCOUNT));
         break;
       case GRL_METADATA_KEY_URL:
         urls[0] = (gchar *) grl_media_get_url (media);
-        ms2_server_set_urls (server, properties_table, urls);
+        ms1_server_set_urls (server, properties_table, urls);
         break;
       case GRL_METADATA_KEY_BITRATE:
-        ms2_server_set_bitrate (server,
+        ms1_server_set_bitrate (server,
                                 properties_table,
                                 grl_data_get_int (GRL_DATA (media),
                                                   GRL_METADATA_KEY_BITRATE));
         break;
       case GRL_METADATA_KEY_DURATION:
-        ms2_server_set_duration (server,
+        ms1_server_set_duration (server,
                                  properties_table,
                                  grl_media_get_duration (media));
         break;
       case GRL_METADATA_KEY_HEIGHT:
-        ms2_server_set_height (server,
+        ms1_server_set_height (server,
                                properties_table,
                                grl_data_get_int (GRL_DATA (media),
                                                  GRL_METADATA_KEY_HEIGHT));
         break;
       case GRL_METADATA_KEY_WIDTH:
-        ms2_server_set_width (server,
+        ms1_server_set_width (server,
                               properties_table,
                               grl_data_get_int (GRL_DATA (media),
                                                 GRL_METADATA_KEY_WIDTH));
@@ -358,7 +358,7 @@ fill_properties_table (MS2Server *server,
   }
 
   if (parent_requested && parent_id) {
-    ms2_server_set_parent (server, properties_table, parent_id);
+    ms1_server_set_parent (server, properties_table, parent_id);
   }
 }
 
@@ -376,7 +376,7 @@ metadata_cb (GrlMediaSource *source,
     return;
   }
 
-  rgdata->properties = ms2_server_new_properties_hashtable ();
+  rgdata->properties = ms1_server_new_properties_hashtable ();
   fill_properties_table (rgdata->server,
                          rgdata->properties,
                          rgdata->keys,
@@ -405,7 +405,7 @@ browse_cb (GrlMediaSource *source,
   }
 
   if (media) {
-    prop_table = ms2_server_new_properties_hashtable ();
+    prop_table = ms1_server_new_properties_hashtable ();
     fill_properties_table (rgdata->server,
                            prop_table,
                            rgdata->keys,
@@ -437,7 +437,7 @@ wait_for_result (RygelGriloData *rgdata)
 }
 
 static GHashTable *
-get_properties_cb (MS2Server *server,
+get_properties_cb (MS1Server *server,
                    const gchar *id,
                    const gchar **properties,
                    gpointer data,
@@ -485,7 +485,7 @@ get_properties_cb (MS2Server *server,
 }
 
 static GList *
-get_children_cb (MS2Server *server,
+get_children_cb (MS1Server *server,
                  const gchar *id,
                  guint offset,
                  gint max_count,
@@ -540,7 +540,7 @@ static void
 source_added_cb (GrlPluginRegistry *registry, gpointer user_data)
 {
   GrlSupportedOps supported_ops;
-  MS2Server *server;
+  MS1Server *server;
   const gchar *source_name;
   gchar *source_id;
 
@@ -572,14 +572,14 @@ source_added_cb (GrlPluginRegistry *registry, gpointer user_data)
 
     sanitize (source_id);
 
-    server = ms2_server_new (source_id, GRL_MEDIA_SOURCE (user_data));
+    server = ms1_server_new (source_id, GRL_MEDIA_SOURCE (user_data));
 
     if (!server) {
       g_warning ("Cannot register %s", source_id);
       g_free (source_id);
     } else {
-      ms2_server_set_get_properties_func (server, get_properties_cb);
-      ms2_server_set_get_children_func (server, get_children_cb);
+      ms1_server_set_get_properties_func (server, get_properties_cb);
+      ms1_server_set_get_children_func (server, get_children_cb);
       /* Save reference */
       if (!dups) {
         providers_names = g_list_prepend (providers_names,
@@ -719,7 +719,7 @@ main (gint argc, gchar **argv)
   /* Load configuration */
   load_config ();
 
-  /* Initialize <grilo-plugin, ms2-server> pairs */
+  /* Initialize <grilo-plugin, ms1-server> pairs */
   servers = g_hash_table_new_full (g_str_hash,
                                    g_str_equal,
                                    g_free,
diff --git a/src/test-client.c b/src/test-client.c
index c3d043b..1d6d06d 100644
--- a/src/test-client.c
+++ b/src/test-client.c
@@ -1,11 +1,11 @@
-#include <media-server2-client.h>
-#include <media-server2-observer.h>
+#include <media-server1-client.h>
+#include <media-server1-observer.h>
 #include <glib.h>
 #include <string.h>
 
-static const gchar *properties[] = { MS2_PROP_PATH,
-				     MS2_PROP_DISPLAY_NAME,
-                                     MS2_PROP_PARENT,
+static const gchar *properties[] = { MS1_PROP_PATH,
+				     MS1_PROP_DISPLAY_NAME,
+                                     MS1_PROP_PARENT,
                                      NULL };
 
 static void
@@ -14,28 +14,28 @@ test_properties ()
   GError *error = NULL;
   GHashTable *result;
   GValue *v;
-  MS2Client *client;
+  MS1Client *client;
   const gchar **p;
   gchar **provider;
   gchar **providers;
 
-  providers = ms2_client_get_providers ();
+  providers = ms1_client_get_providers ();
 
   if (!providers) {
-    g_print ("There is no MediaServer2 provider\n");
+    g_print ("There is no MediaServer1 provider\n");
     return;
   }
 
   for (provider = providers; *provider; provider++) {
-    client = ms2_client_new (*provider);
+    client = ms1_client_new (*provider);
 
     if (!client) {
       g_printerr ("Unable to create a client\n");
       return;
     }
 
-    result = ms2_client_get_properties (client,
-                                        ms2_client_get_root_path (client),
+    result = ms1_client_get_properties (client,
+                                        ms1_client_get_root_path (client),
                                         (gchar **) properties,
                                         &error);
 
@@ -68,27 +68,27 @@ test_children ()
   GError *error = NULL;
   GList *children;
   GList *child;
-  MS2Client *client;
+  MS1Client *client;
   gchar **provider;
   gchar **providers;
 
-  providers = ms2_client_get_providers ();
+  providers = ms1_client_get_providers ();
 
   if (!providers) {
-    g_print ("There is no MediaServer2 provider\n");
+    g_print ("There is no MediaServer1 provider\n");
     return;
   }
 
   for (provider = providers; *provider; provider ++) {
-    client = ms2_client_new (*provider);
+    client = ms1_client_new (*provider);
 
     if (!client) {
       g_printerr ("Unable to create a client\n");
       return;
     }
 
-    children  = ms2_client_get_children (client,
-                                         ms2_client_get_root_path (client),
+    children  = ms1_client_get_children (client,
+                                         ms1_client_get_root_path (client),
                                          0,
                                          -1,
                                          properties,
@@ -102,8 +102,8 @@ test_children ()
 
     for (child = children; child; child = g_list_next (child)) {
       g_print ("\t* '%s', '%s'\n",
-               ms2_client_get_path (child->data),
-               ms2_client_get_display_name(child->data));
+               ms1_client_get_path (child->data),
+               ms1_client_get_display_name(child->data));
     }
 
     g_list_foreach (children, (GFunc) g_hash_table_unref, NULL);
@@ -115,17 +115,17 @@ test_children ()
 }
 
 static void
-destroy_cb (MS2Client *client, gpointer user_data)
+destroy_cb (MS1Client *client, gpointer user_data)
 {
-  g_print ("End of provider %s\n", ms2_client_get_provider_name(client));
+  g_print ("End of provider %s\n", ms1_client_get_provider_name(client));
 }
 
 static void
-new_cb (MS2Observer *observer, const gchar *provider, gpointer user_data)
+new_cb (MS1Observer *observer, const gchar *provider, gpointer user_data)
 {
-  MS2Client *client;
+  MS1Client *client;
 
-  client = ms2_client_new (provider);
+  client = ms1_client_new (provider);
   if (!client) {
     g_printerr ("Unable to create client for %s\n", provider);
   } else {
@@ -137,19 +137,19 @@ new_cb (MS2Observer *observer, const gchar *provider, gpointer user_data)
 static void
 test_provider_free ()
 {
-  MS2Client *client;
+  MS1Client *client;
   gchar **provider;
   gchar **providers;
 
-  providers = ms2_client_get_providers ();
+  providers = ms1_client_get_providers ();
 
   if (!providers) {
-    g_print ("There is no MediaServer2 provider\n");
+    g_print ("There is no MediaServer1 provider\n");
     return;
   }
 
   for (provider = providers; *provider; provider++) {
-    client = ms2_client_new (*provider);
+    client = ms1_client_new (*provider);
     if (!client) {
       g_printerr ("Unable to create a client\n");
       continue;
@@ -165,12 +165,12 @@ test_provider_free ()
 static void
 test_dynamic_providers ()
 {
-  MS2Client *client;
-  MS2Observer *observer;
+  MS1Client *client;
+  MS1Observer *observer;
   gchar **provider;
   gchar **providers;
 
-  observer = ms2_observer_get_instance ();
+  observer = ms1_observer_get_instance ();
   if (!observer) {
     g_printerr ("Unable to get the observer\n");
     return;
@@ -178,14 +178,14 @@ test_dynamic_providers ()
 
   g_signal_connect (observer, "new", G_CALLBACK (new_cb), NULL);
 
-  providers = ms2_client_get_providers ();
+  providers = ms1_client_get_providers ();
   if (!providers) {
-    g_print ("There is no MediaServer2 providers\n");
+    g_print ("There is no MediaServer1 providers\n");
     return;
   }
 
   for (provider = providers; *provider; provider++) {
-    client = ms2_client_new (*provider);
+    client = ms1_client_new (*provider);
     if (!client) {
       g_printerr ("Unable to create a client for %s\n", *provider);
       continue;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]