About.
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.
The GUPnP framework consists of the following libraries:
- GSSDP implements resource discovery and announcement over SSDP.
- GUPnP implements the UPnP specification: resource announcement and discovery, description, control, event notification, and presentation (GUPnP includes basic web server functionality through libsoup). GUPnP does not include helpers for construction or control of specific standardized resources (e.g. MediaServer); this is left for higher level libraries utilizing the GUPnP framework.
- GUPnP-AV is a collection of helpers for building AV (audio/video) applications using GUPnP.
- GUPnP-UI is a collection of GTK+ widgets on top of GUPnP. It features a GtkTreeModel exposing devices discovered by a GUPnPControlPoint and a GtkTreeView for exposing such models.
The GUPnP framework was born out of frustration with libupnp and its mess of threads. GUPnP is entirely single-threaded (though asynchronous), integrates with the GLib main loop, and provides the same set of features as libupnp while hiding most of the UPnP internals through an elegant object-oriented design.
The GUPnP framework is free software released under the GNU LGPL.
Also available is a collection of developer tools utilising GUPnP and GTK+, as well as a MediaRenderer version 1 reference implementation.
News.
- December 23rd, 2008: GUPnP-Vala 0.4 (Vala bindings) released. See NEWS for details.
- November 17th, 2008: GUPnP 0.12.4 released. See NEWS for details.
- November 10th, 2008: gupnp-vala 0.3 (Vala bindings) released. Updated to cover GUPnP 0.12.3 and to be compatible with Vala >= 0.4.0.
- October 29th, 2008: GUPnP-IGD 0.1 released. This is a library to handle Internet Gateway Device port mappings.
- October 28th, 2008: GUPnP Tools 0.7 released. See NEWS for details.
- October 27th, 2008: GSSDP 0.6.3 and GUPnP 0.12.3 released. See NEWS (gssdp), NEWS (gupnp) for details.
- September 22nd, 2008: GUPnP Tools 0.6.1 released. See NEWS for details.
- August 31, 2008: GSSDP 0.6.2 and GUPnP 0.12.2 released. See NEWS (gssdp), NEWS (gupnp) for details.
- July 8, 2008: GUPnP Media Server 0.1 released. This is an implementation of the MediaServer version 2 device type, written in Vala. Tracker is used to discover available media.
- July 4, 2008: gupnp-vala 0.2 (Vala bindings) released. Includes a bug fix and support for GUPnP custom types. Requires Vala 0.3.4.
- June 30, 2008: GUPnP Media Renderer 0.1 released. This is a reference implementation of the MediaRenderer version 1 device type, written in Vala. libowl-av is used for rendering. GUPnP Media Renderer can be downloaded here.
Download.
Visit http://gupnp.org/sources for source tarballs. Prebuilt Debian packages are available at http://debian.o-hand.com and in Debian Unstable.
Documentation.
Participate.
GUPnP Subversion Repo.
Check out with:
svn co http://svn.o-hand.com/repos/gupnp/trunk gupnpBrowseable via http://svn.o-hand.com/view/gupnp/.
Bugs.
Report using the OpenedHand Bugzilla.
Mailing List.
Send a blank message to `gupnp+subscribe
Messages sent to the list are archived. The archive is accessable here.
Authors.
GUPnP is an OpenedHand production with significant contributions from Zeeshan Ali.
