4 Renderer-service-upnp is a high level d-Bus API that allows
5 client applications to discover and manipulate UPNP and DLNA media
6 renderers. Renderer-service-upnp is a d-Bus service implemented on
7 top of the GUPnP libraries. It is designed to facilitate the creation
8 of Digital Media Controllers (DMCs), in conjunction with
9 media-service-upnp, and to implement the DLNA 2-box push use case. The
10 use of renderer-service-upnp boasts a number of advantages:
12 1. It provides a language and toolkit neutral API that can be used by
13 any programming environment that supports d-Bus bindings.
15 2. It exposes high level APIs that are specifically designed for
16 manipulating Digital Media Renderers (DMRs).
18 3. It reduces network traffic by communicating with Digital Media
19 Renderers on behalf of its clients. This means that the device upon
20 which renderer-service-upnp runs, only downloads and parses a DMR's device
21 and service description files once, regardless of the number of
22 media applications making use of its services.
27 Renderer-service-upnp is built using autotools and gcc. It also has a
28 number of dependencies on third party libraries, notably glib, gupnp,
29 gssdp, gupnp-av and libsoup. Both development versions of these
30 libraries and autotools need to be installed before
31 renderer-service-upnp can be compiled. On Ubuntu 11.10 autotools, and
32 the glib and libsoup development libraries can be installed with the
35 sudo apt-get install autoconf
36 sudo apt-get install libglib2.0-dev
37 sudo apt-get install libsoup2.4-dev
39 The GUPnP libraries in Ubuntu are a little out of date so it is best to
40 download the latest versions of these projects from their source code
43 git://git.gnome.org/gupnp
44 git://git.gnome.org/gssdp
45 git://git.gnome.org/gupnp-av
47 Renderer-service-upnp should however, compile against older versions of
48 GUPnP, although you might see some warnings. On Ubuntu the development
49 versions of the GUPnP libraries can be installed as follows:
51 sudo apt-get install libgupnp-1.0-dev
52 sudo apt-get install libgupnp-av-1.0-dev
53 sudo apt-get install libgssdp-1.0-dev
55 The development version of d-Bus is also required. This can be
56 installed on Ubuntu by typing:
58 sudo apt-get install libdbus-1-dev
60 Although renderer-service-upnp does not link against the d-Bus libraries,
61 the development version of this package is required by its build
62 system to determine where to install the .service files.
65 Working with the source code repository
66 ---------------------------------------
68 Renderer-service-upnp can be downloaded, compiled and installed as
72 # git clone git://github.com/01org/renderer-service-upnp.git
73 # cd renderer-service-upnp
83 These instructions are suitable for users who simply want to install
84 and run renderer-service-upnp. However, developers wishing to contribute
85 to the project should follow a separate "Configure and build" step.
88 # ./bootstrap-configure
91 The script "bootstrap-configure" cleans the repository, calls
92 autreconf and then invokes configure with proper settings for
93 development. These settings include the enabling of
94 maintainer mode and debugging.
96 Developers can remove autogenerated files with the following command
98 # make maintainer-clean
105 This option is disabled by default. To enable use --enable-werror.
106 When enabled, all warnings are treated as errors during compilation.
107 Should be enabled during development to ensure that errors do not
108 creep into the code base. This option is enabled by
113 This option is disabled by default. To enable use
114 --enable-debug. When enabled, the make files produce debug builds.
115 This option is enabled by bootstrap-configure.
117 --enable-optimization
119 This option is enabled by default. To disable use
120 --disable-optimization. When enabled it turns on compiler
121 optimizations. Disable = -O0, enable = -O2.