Cling is a complete, clean, and very flexible Java implementation of the UPnP Device Architecture specification. Additional UPnP service modules and graphical tools are also part of this project. Cling helps you create, control, and monitor UPnP-compatible services on your local network. Cling can be used as an UPnP/DLNA library for Android application development.
LXiMedia is a fully transcoding DLNA media server. It supports DVD and High Definition resolutions (720p and 1080p), stereo and multi-channel (5.1 surround) audio, DVD title playback, high quality subtitle overlay, support for embedded subtitles, and SRT subtitle files, selection of an audio stream and/or subtitle overlay from the DLNA device, and support for IMDb movie titles and descriptions.
YAACC is an Android UPnP controller. It allows you to discover, use, and control UPnP devices on your network to stream media files. Since it's a subset of UPnP, it is also capable of communicating with DLNA devices. It is possible to start a UPnP server on your device in order to play media from your device on any UPnP renderer in your network. If you start the YAACC UPnP renderer service, you are able to control your device by another UPnP controller in the network. This is quite useful for Android HDMI sticks plugged into your TV. If you install YAACC on them and start the UPnP renderer service, you are able to stream media file to it using YAACC on your smartphone or tablet.