Hi All,
As previously announced on this list (
https://lists.01.org/pipermail/dleyna/2013-February/000099.html ) we
have been re-organising both dLeyna's architecture and it's source code
repositories, with the aims of introducing a meaningful naming scheme,
improving code re-use and enabling support for different IPC mechanisms.
I'm pleased to announce that this work has finally been completed.
Here's a brief overview of what has changed.
Repositories:
---------------
In the past, the two dLeyna middleware components were stored in two
separate repositories:
https://github.com/01org/media-service-upnp
https://github.com/01org/renderer-service-upnp
These two repositories are now deprecated. Their code has been split up
and moved into 4 new repositories. These are:
https://github.com/01org/dleyna-core
https://github.com/01org/dleyna-server
https://github.com/01org/dleyna-renderer
https://github.com/01org/dleyna-connector-dbus
dLeyna-server provides APIs for discovering Digital Media Servers and
for browsing and searching their contents.
dLeyna-renderer provides APIs for discovering and manipulating Digital
Media Renderers.
The two dLeyna components mentioned above share a lot of common code.
For example, they use the same logging and task management systems and
the same IPC abstraction mechanism (more on this later on). To improve
code re-use, all of this common code has been moved to a separate
library, dLeyna-core.
dLeyna-server and dLeyna-renderer are implemented as services rather
than libraries and hence they make their APIs available via IPC
mechanisms rather than directly through function calls. The dLeyna
services are designed to support different IPC mechanisms. Internally
they use an abstract API to perform IPC tasks, such as publishing an
object or sending a notification, and these tasks are delegated through
this API to a dynamically loaded shared library called a connector.
Currently, the dLeyna project contains only a single connector module,
dLeyna-connector-dbus. As its name suggests, dLeyna-connector-dbus can
be used to provide a d-Bus API for the dLeyna services.
Finally, our test DMP, previously located at
https://github.com/01org/media-service-demo
has been renamed to dLeyna-control and moved to a new repository:
https://github.com/01org/dleyna-control
Incidentally, this component has had quite a few updates lately,
including performance and UI responsiveness improvements, migration to
gtk 3.0 and gstreamer 1.0, and more intelligent sorting.
All the old repositories are still available and will continue to be so.
However, they are deprecated and the code will no longer be
maintained. Please enter bugs and feature requests on the new repos.
API Changes:
---------------
As we have renamed our components there have necessarily been some
changes to the d-Bus APIs. A brief summary is provided below:
Service Name Changes:
com.intel.MediaServiceUPnP -> com.intel.dleyna-server
com.intel.RendererServiceUPnP -> com.intel.dleyna-renderer
Object Path Changes:
/com/intel/MediaServiceUPnP -> /com/intel/dLeynaServer
/com/intel/RendererServiceUPnP -> /com/intel/dLeynaRenderer
Interface Name Changes:
com.intel.UPnP.MediaDevice -> com.intel.dLeynaServer.MediaDevice
com.intel.RendererServiceUPnP.Manager -> com.intel.dLeynaRenderer.Manager
com.intel.RendererServiceUPnP.PushHost -> com.intel.dLeynaRenderer.PushHost
Executable Name Changes:
---------------------
Finally, the executable names for the services have also changed.
media-service-upnp -> dleyna-server-service
renderer-service-upnp -> dleyna-renderer-service
Please let us know if you have any questions or encounter any problems
with the new repositories.
Best Regards,
Mark Ryan