+2008-10-26 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
+
+ * README:
+ * configure.ac:
+ * data/xml/Makefile.am:
+ * data/xml/description-xbox360.xml:
+ * data/xml/description.xml:
+ * doc/design.txt:
+ * src/media-providers/tracker/Makefile.am:
+ * src/media-providers/tracker/gupnp-media-tracker.vala:
+ * src/media-providers/tracker/gupnp-tracker-container.vala:
+ * src/media-providers/tracker/gupnp-tracker-plugin.vala:
+ * src/media-providers/tracker/rygel-media-tracker.vala:
+ * src/media-providers/tracker/rygel-tracker-container.vala:
+ * src/media-providers/tracker/rygel-tracker-plugin.vala:
+ * src/media-server/Makefile.am:
+ * src/media-server/gupnp-connection-manager.vala:
+ * src/media-server/gupnp-content-directory.vala:
+ * src/media-server/gupnp-media-container.vala:
+ * src/media-server/gupnp-media-item.vala:
+ * src/media-server/gupnp-media-manager.vala:
+ * src/media-server/gupnp-media-object.vala:
+ * src/media-server/gupnp-media-provider.vala:
+ * src/media-server/gupnp-media-receiver-registrar.vala:
+ * src/media-server/gupnp-media-server.vala:
+ * src/media-server/gupnp-metadata-extractor.vala:
+ * src/media-server/rygel-connection-manager.vala:
+ * src/media-server/rygel-content-directory.vala:
+ * src/media-server/rygel-media-container.vala:
+ * src/media-server/rygel-media-item.vala:
+ * src/media-server/rygel-media-manager.vala:
+ * src/media-server/rygel-media-object.vala:
+ * src/media-server/rygel-media-provider.vala:
+ * src/media-server/rygel-media-receiver-registrar.vala:
+ * src/media-server/rygel-media-server.vala:
+ * src/media-server/rygel-metadata-extractor.vala:
+
+ Project renamed to "Rygel" to be moved to GNOME SVN.
+
2008-09-08 Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
* src/media-providers/tracker/Makefile.am:
-GUPnP MediaServer
-==================
+What is Rygel?
-GUPnP is an object-oriented open source framework for creating UPnP devices and
-control points, written in C using GObject and libsoup. The GUPnP API is
-intended to be easy to use, efficient and flexible.
+Rygel:
-GUPnP MediaServer is an implementation of the UPnP MediaServer V 2.0
-specification[1] based on GUPnP and tracker[2]. It is written (mostly) in Vala
-language[3].
+* is an implementation of the UPnP MediaServer V 2.0 specification[1]
+* is designed for GNOME desktop.
+* is based on GUPnP[2].
+* supports plugable Media providers (and currently has a tracker[3]-based media
+ provider).
+* is written (mostly) in Vala language[4].
[1] http://www.upnp.org/specs/av/UPnP-av-MediaServer-v2-Device-20060531.pdf
-[2] http://www.tracker-project.org/
-[3] http://www.vala-project.org/
+[2] http://www.gupnp.org/
+[3] http://www.tracker-project.org/
+[4] http://www.vala-project.org/
AC_PREREQ(2.53)
-AC_INIT(gupnp-media-server, 0.1, http://www.gupnp.org/)
+AC_INIT(rygel, 0.1, http://live.gnome.org/Rygel)
AM_INIT_AUTOMAKE()
-AC_CONFIG_SRCDIR(src/media-server/gupnp-media-server.vala)
+AC_CONFIG_SRCDIR(src/media-server/rygel-media-server.vala)
AM_CONFIG_HEADER(config.h)
AM_MAINTAINER_MODE
AM_CONDITIONAL([UNINSTALLED], [test "x$enable_uninstalled" = "xyes"])
# Gettext
-GETTEXT_PACKAGE=gupnp-media-server
+GETTEXT_PACKAGE=rygel
AC_SUBST(GETTEXT_PACKAGE)
AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE, ["$GETTEXT_PACKAGE"],
[Define the gettext package to be used])
X_MS_MediaReceiverRegistrar1.xml \
description-xbox360.xml
-xmldir = $(datadir)/gupnp-media-server/xml
+xmldir = $(datadir)/rygel/xml
EXTRA_DIST = $(xml_DATA)
<deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
<UDN></UDN>
<friendlyName></friendlyName>
-<manufacturer>GUPnP Team</manufacturer>
-<manufacturerURL>http://www.gupnp.org/</manufacturerURL>
+<manufacturer>Rygel Developers.</manufacturer>
+<manufacturerURL>http://live.gnome.org/Rygel</manufacturerURL>
<modelName>Windows Media Connect</modelName>
<modelNumber>0.1</modelNumber>
<modelDescription></modelDescription>
<deviceType>urn:schemas-upnp-org:device:MediaServer:2</deviceType>
<UDN></UDN>
<friendlyName></friendlyName>
-<manufacturer>GUPnP Team</manufacturer>
-<manufacturerURL>http://www.gupnp.org/</manufacturerURL>
-<modelName>gupnp-media-server</modelName>
+<manufacturer>Rygel Developers.</manufacturer>
+<manufacturerURL>http://live.gnome.org/Rygel</manufacturerURL>
+<modelName>Rygel</modelName>
<modelNumber>0.1</modelNumber>
<modelDescription></modelDescription>
<serialNumber>0000001</serialNumber>
objects and interfaces:
-Name: GUPnP.MediaServer
+Name: Rygel.MediaServer
description: The main object that talks to the control-points.
-Name: GUPnP.MediaProvider
+Name: Rygel.MediaProvider
description: Interface that all Media provider/backend objects must implement.
-Name: GUPnP.MediaDB
+Name: Rygel.MediaDB
description: Object that:
- - imlements GUPnPMediaProvider
- - manages plugins that provides GUPnPMediaProvider
+ - imlements RygelMediaProvider
+ - manages plugins that provides RygelMediaProvider
-Name: GUPnP.MediaTracker
-description: tracker-based GUPnP.MediaProvider implementation.
+Name: Rygel.MediaTracker
+description: tracker-based Rygel.MediaProvider implementation.
http://www.tracker-project.org
-Name: GUPnP.MetadataExtractor
+Name: Rygel.MetadataExtractor
description: Helper object providing metadata extraction facility.
-plugindir = $(libdir)/gupnp-media-server-1.0
+plugindir = $(libdir)/rygel-1.0
-plugin_LTLIBRARIES = libgupnp-media-tracker.la
+plugin_LTLIBRARIES = librygel-media-tracker.la
AM_CFLAGS = $(LIBGUPNP_CFLAGS) \
$(LIBGUPNP_AV_CFLAGS) \
$(LIBDBUS_GLIB_CFLAGS) \
-I$(top_srcdir)/src/media-server
-BUILT_SOURCES = gupnp-media-tracker.stamp \
- gupnp-media-tracker.h \
- gupnp-media-tracker.c \
- gupnp-tracker-container.h \
- gupnp-tracker-container.c
- gupnp-tracker-plugin.h \
- gupnp-tracker-plugin.c
+BUILT_SOURCES = rygel-media-tracker.stamp \
+ rygel-media-tracker.h \
+ rygel-media-tracker.c \
+ rygel-tracker-container.h \
+ rygel-tracker-container.c
+ rygel-tracker-plugin.h \
+ rygel-tracker-plugin.c
-libgupnp_media_tracker_la_SOURCES = gupnp-media-tracker.h \
- gupnp-media-tracker.c \
- gupnp-media-tracker.vala \
- gupnp-tracker-container.h \
- gupnp-tracker-container.c \
- gupnp-tracker-container.vala \
- gupnp-tracker-plugin.h \
- gupnp-tracker-plugin.c \
- gupnp-tracker-plugin.vala
+librygel_media_tracker_la_SOURCES = rygel-media-tracker.h \
+ rygel-media-tracker.c \
+ rygel-media-tracker.vala \
+ rygel-tracker-container.h \
+ rygel-tracker-container.c \
+ rygel-tracker-container.vala \
+ rygel-tracker-plugin.h \
+ rygel-tracker-plugin.c \
+ rygel-tracker-plugin.vala
-gupnp-media-tracker.stamp: $(filter %.vala,$(libgupnp_media_tracker_la_SOURCES))
+rygel-media-tracker.stamp: $(filter %.vala,$(librygel_media_tracker_la_SOURCES))
$(VALAC) -C --vapidir=$(top_srcdir)/src/media-server \
- --pkg gupnp-media-server-1.0 \
+ --pkg rygel-1.0 \
--pkg gupnp-1.0 --pkg gupnp-av-1.0 --pkg dbus-glib-1 $^
touch $@
-libgupnp_media_tracker_la_LIBADD = $(LIBGUPNP_LIBS) \
+librygel_media_tracker_la_LIBADD = $(LIBGUPNP_LIBS) \
$(LIBGUPNP_AV_LIBS) \
$(LIBDBUS_GLIB_LIBS)
-libgupnp_media_tracker_la_LDFLAGS = -shared -fPIC -module -avoid-version
+librygel_media_tracker_la_LDFLAGS = -shared -fPIC -module -avoid-version
CLEANFILES = $(BUILT_SOURCES)
MAINTAINERCLEANFILES = Makefile.in
using GUPnP;
using DBus;
-public class GUPnP.MediaTracker : MediaProvider {
+public class Rygel.MediaTracker : MediaProvider {
/* class-wide constants */
public static const string TRACKER_SERVICE = "org.freedesktop.Tracker";
public static const string TRACKER_PATH = "/org/freedesktop/tracker";
using GUPnP;
-public class GUPnP.TrackerContainer : MediaContainer {
+public class Rygel.TrackerContainer : MediaContainer {
public string tracker_category;
/* UPnP class of items under this container */
* version 2 of the License, or (at your option) any later version.
*/
-using GUPnP;
+using Rygel;
[ModuleInit]
public MediaProvider register_media_provider (string root_id,
if UNINSTALLED
shareddir = $(abs_top_builddir)/data
else
-shareddir = $(datadir)/gupnp-media-server
+shareddir = $(datadir)/rygel
endif
if UNINSTALLED
plugindir = $(abs_top_builddir)/src/media-providers
else
-plugindir = $(libdir)/gupnp-media-server-1.0
+plugindir = $(libdir)/rygel-1.0
endif
AM_CFLAGS = $(LIBGUPNP_CFLAGS) \
-I$(top_srcdir) -DDATA_DIR='"$(shareddir)"' \
-DPLUGIN_DIR='"$(plugindir)"'
-bin_PROGRAMS = gupnp-media-server
+bin_PROGRAMS = rygel
-BUILT_SOURCES = gupnp-media-server-1.0.vapi \
- gupnp-media-server.stamp \
- gupnp-media-server.h \
- gupnp-media-server.c \
- gupnp-content-directory.h \
- gupnp-content-directory.c \
- gupnp-connection-manager.h \
- gupnp-connection-manager.c \
- gupnp-media-receiver-registrar.h \
- gupnp-media-receiver-registrar.c \
- gupnp-media-provider.h \
- gupnp-media-provider.c \
- gupnp-media-object.c \
- gupnp-media-object.h \
- gupnp-media-container.c \
- gupnp-media-container.h \
- gupnp-media-item.c \
- gupnp-media-item.h \
- gupnp-media-manager.h \
- gupnp-media-manager.c
+BUILT_SOURCES = rygel-1.0.vapi \
+ rygel.stamp \
+ rygel-media-server.h \
+ rygel-media-server.c \
+ rygel-content-directory.h \
+ rygel-content-directory.c \
+ rygel-connection-manager.h \
+ rygel-connection-manager.c \
+ rygel-media-receiver-registrar.h \
+ rygel-media-receiver-registrar.c \
+ rygel-media-provider.h \
+ rygel-media-provider.c \
+ rygel-media-object.c \
+ rygel-media-object.h \
+ rygel-media-container.c \
+ rygel-media-container.h \
+ rygel-media-item.c \
+ rygel-media-item.h \
+ rygel-media-manager.h \
+ rygel-media-manager.c
-gupnp_media_server_SOURCES = gupnp-media-server-1.0.vapi \
- cstuff.c \
- cstuff.h \
- gupnp-media-server.h \
- gupnp-media-server.c \
- gupnp-media-server.vala \
- gupnp-content-directory.h \
- gupnp-content-directory.c \
- gupnp-content-directory.vala \
- gupnp-connection-manager.h \
- gupnp-connection-manager.c \
- gupnp-connection-manager.vala \
- gupnp-media-receiver-registrar.h \
- gupnp-media-receiver-registrar.c \
- gupnp-media-receiver-registrar.vala \
- gupnp-media-provider.h \
- gupnp-media-provider.c \
- gupnp-media-object.c \
- gupnp-media-object.h \
- gupnp-media-container.c \
- gupnp-media-container.h \
- gupnp-media-item.c \
- gupnp-media-item.h \
- gupnp-media-manager.h \
- gupnp-media-manager.c \
- gupnp-media-manager.vala \
- gupnp-metadata-extractor.c \
- gupnp-metadata-extractor.h \
- gupnp-metadata-extractor.vala
+rygel_SOURCES = rygel-1.0.vapi \
+ cstuff.c \
+ cstuff.h \
+ rygel-media-server.h \
+ rygel-media-server.c \
+ rygel-media-server.vala \
+ rygel-content-directory.h \
+ rygel-content-directory.c \
+ rygel-content-directory.vala \
+ rygel-connection-manager.h \
+ rygel-connection-manager.c \
+ rygel-connection-manager.vala \
+ rygel-media-receiver-registrar.h \
+ rygel-media-receiver-registrar.c \
+ rygel-media-receiver-registrar.vala \
+ rygel-media-provider.h \
+ rygel-media-provider.c \
+ rygel-media-object.c \
+ rygel-media-object.h \
+ rygel-media-container.c \
+ rygel-media-container.h \
+ rygel-media-item.c \
+ rygel-media-item.h \
+ rygel-media-manager.h \
+ rygel-media-manager.c \
+ rygel-media-manager.vala \
+ rygel-metadata-extractor.c \
+ rygel-metadata-extractor.h \
+ rygel-metadata-extractor.vala
-gupnp-media-server.stamp: $(filter %.vala,$(gupnp_media_server_SOURCES))
- $(VALAC) -C --vapidir=$(srcdir) --pkg gupnp-media-server-1.0 \
+rygel.stamp: $(filter %.vala,$(rygel_SOURCES))
+ $(VALAC) -C --vapidir=$(srcdir) --pkg rygel-1.0 \
--pkg cstuff --pkg gupnp-1.0 --pkg gupnp-av-1.0 --pkg dbus-glib-1 \
--pkg gconf-2.0 --pkg gstreamer-0.10 --pkg gio-2.0 $^
touch $@
-gupnp_media_server_LDADD = $(LIBGUPNP_LIBS) \
- $(LIBGUPNP_AV_LIBS) \
- $(LIBGCONF_LIBS) \
- $(LIBGSTREAMER_LIBS) \
- $(GIO_LIBS)
-gupnp_media_server_LDFLAGS = -export-dynamic
+rygel_LDADD = $(LIBGUPNP_LIBS) \
+ $(LIBGUPNP_AV_LIBS) \
+ $(LIBGCONF_LIBS) \
+ $(LIBGSTREAMER_LIBS) \
+ $(GIO_LIBS)
+rygel_LDFLAGS = -export-dynamic
-VAPI_FILES = gupnp-media-server-1.0.vapi
+VAPI_FILES = rygel-1.0.vapi
-gupnp-media-server-1.0.vapi: gupnp-media-provider.vala \
- gupnp-media-object.vala \
- gupnp-media-container.vala \
- gupnp-media-item.vala
- $(VALAC) -C --library=gupnp-media-server-1.0 \
+rygel-1.0.vapi: rygel-media-provider.vala \
+ rygel-media-object.vala \
+ rygel-media-container.vala \
+ rygel-media-item.vala
+ $(VALAC) -C --library=rygel-1.0 \
--pkg gupnp-1.0 --pkg gupnp-av-1.0 \
$^
using GLib;
using GUPnP;
-public class GUPnP.ConnectionManager : Service {
+public class Rygel.ConnectionManager : Service {
private string source_protocol_info;
private string sink_protocol_info;
private string connection_ids;
using GUPnP;
-public class GUPnP.ContentDirectory: Service {
+public class Rygel.ContentDirectory: Service {
string feature_list;
DIDLLiteWriter didl_writer;
* version 2 of the License, or (at your option) any later version.
*/
-public class GUPnP.MediaContainer : MediaObject {
+using GUPnP;
+
+public class Rygel.MediaContainer : MediaObject {
public uint child_count;
public MediaContainer (string id,
* version 2 of the License, or (at your option) any later version.
*/
-public class GUPnP.MediaItem : MediaObject {
+using GUPnP;
+
+public class Rygel.MediaItem : MediaObject {
public static const string IMAGE_CLASS = "object.item.imageItem";
public static const string VIDEO_CLASS = "object.item.videoItem";
public static const string MUSIC_CLASS = "object.item.audioItem.musicTrack";
*/
using CStuff;
+using GUPnP;
-public class GUPnP.MediaManager : MediaProvider {
+public class Rygel.MediaManager : MediaProvider {
/* Properties */
public uint32 system_update_id { get; private set; }
* version 2 of the License, or (at your option) any later version.
*/
-public abstract class GUPnP.MediaObject {
+using GUPnP;
+
+public abstract class Rygel.MediaObject {
public string id;
public string parent_id;
public string title;
using GUPnP;
-public errordomain GUPnP.MediaProviderError {
+public errordomain Rygel.MediaProviderError {
NO_SUCH_OBJECT = 701
}
-public abstract class GUPnP.MediaProvider : GLib.Object {
+public abstract class Rygel.MediaProvider : GLib.Object {
/* Properties */
public string# root_id { get; construct; }
public string# root_parent_id { get; construct; }
using GUPnP;
-public class GUPnP.MediaReceiverRegistrar: Service {
+public class Rygel.MediaReceiverRegistrar: Service {
construct {
this.action_invoked["IsAuthorized"] += this.is_authorized_cb;
using GConf;
using CStuff;
-public class GUPnP.MediaServer: RootDevice {
+public class Rygel.MediaServer: RootDevice {
public static const string CONTENT_DIR =
"urn:schemas-upnp-org:service:ContentDirectory";
public static const string CONNECTION_MANAGER =
construct {
ResourceFactory factory = this.resource_factory;
- /* Register GUPnP.ContentDirectory */
+ /* Register Rygel.ContentDirectory */
factory.register_resource_type (CONTENT_DIR + ":1",
typeof (ContentDirectory));
factory.register_resource_type (CONTENT_DIR + ":2",
typeof (ContentDirectory));
- /* Register GUPnP.ConnectionManager */
+ /* Register Rygel.ConnectionManager */
factory.register_resource_type (CONNECTION_MANAGER + ":1",
typeof (ConnectionManager));
factory.register_resource_type (CONNECTION_MANAGER + ":2",
typeof (ConnectionManager));
- /* Register GUPnP.MediaReceiverRegistrar */
+ /* Register Rygel.MediaReceiverRegistrar */
factory.register_resource_type (MEDIA_RECEIVER_REGISTRAR + ":1",
typeof (MediaReceiverRegistrar));
factory.register_resource_type (MEDIA_RECEIVER_REGISTRAR + ":2",
}
string user_name = Environment.get_real_name();
- default_value = "%s's GUPnP MediaServer".printf (user_name);
+ default_value = "%s's MediaServer".printf (user_name);
str = get_str_from_gconf (gconf_client,
GCONF_PATH + "friendly-name",
default_value);
ELEMENT = 5 /* stream handled by an element */
}
-public class GUPnP.MetadataExtractor: GLib.Object {
+public class Rygel.MetadataExtractor: GLib.Object {
/* TODO: Use tagbin instead once it's ready */
private dynamic Gst.Element playbin;