C based UPnP audio server

Installing or RaspPI

  • http://minidlna.sourceforge.net/
  • http://raspberry.io/projects/view/naspberry-pi/
  • http://ask.jaimeyu.com/2014/01/setting-up-dlnaupnp-server-on-raspberry.html
  • http://bbrks.me/rpi-minidlna-media-server/

Alernatives

  • C# http://nmaier.github.io/simpleDLNA/
  • Python - Coherence (UPNP) http://en.wikipedia.org/wiki/Coherence_(UPNP)
  • SofaPlay is the Mac App Store equivalent.

miniDNLA Code Analysis

minidnla, now ReadyMedia, is a small UPnP / DNLA Media Server. This note is an analysis of the server and it’s code.

This analysis is being done with the goal of producing a initially a small audio only media server and the a cloud based equivalent.

  • 1.0.18 : Earlyest version with code available
  • 1.1.2 : Current version

As we are only interested in serving audio for now we can hopfully simplify things a little.

TODO

  • Can I get this to build under OS-X?
    • http://chris-labs.de/mac/2013/10/20/mac-install-minidlna-on-os-x.html
    • http://reliablybroken.com/b/2010/12/running-minidlna-on-mac/

minissdp.h, .c

Used by minidnla.c.

Interface is pretty trivial. Should be able to reproduce.

Installation

Install MacPorts as .pkg file. Then:

sudo port selfupdate
sudo port install minidlna

port location minidlna
Port minidlna 1.1.2_0 is installed as an image in:
/opt/local/var/macports/software/minidlna/minidlna-1.1.2_0.darwin_13.x86_64.tbz2

$ cp /opt/local/var/macports/software/minidlna/minidlna-1.1.2_0.darwin_13.x86_64.tbz2 .

$ ls /opt/local/sbin
minidlnad

int tr=1;

// kill "Address already in use" error message
if (setsockopt(listener,SOL_SOCKET,SO_REUSEADDR,&tr,sizeof(int)) == -1) {
    perror("setsockopt");
    exit(1);
}
[2014/04/25 07:08:00] minidlna.c:1000: warn: Starting MiniDLNA version 1.1.2.
[2014/04/25 07:08:00] minissdp.c:112: error: bind(udp): Address already in use
[2014/04/25 07:08:00] minissdp.c:779: error: connect("/var/run/minissdpd.sock"): No such file or directory[2014/04/25 07:08:00] minidlna.c:1033: fatal: Failed to connect to MiniSSDPd. EXITING[2014/04/25 07:16:52] minidlna.c:1000: warn: Starting MiniDLNA version 1.1.2.
[2014/04/25 07:16:52] minissdp.c:112: error: bind(udp): Address already in use
[2014/04/25 07:16:52] minissdp.c:779: error: connect("/var/run/minissdpd.sock"): No such file or directory[2014/04/25 07:16:52] minidlna.c:1033: fatal: Failed to connect to MiniS