I am looking for someone to port the MiniDLNA server program to Windows
and Mac OS X. MiniDLNA is a minimal, open-source DLNA server for Linux. The
goal of this job is to port MiniDLNA so that it can be run and conveniently
used on both OS X and a modern Windows PC (Windows XP and newer). Further
the external dependencies of MiniDLNA should be reduced to simplify the
build process.
You can obtain MiniDLNA from here: [login to view URL]
More information on DLNA is here: [login to view URL]
The two targets OS X and Windows require a very different amount of work:
OS X is a much closer target to Linux than Windows. And most important: A
working MiniDLNA port to OS X already exists! It just resides in a separate
branch and was not yet integrated into MiniDLNA's main branch.
I therefore propose to tackle the project by the following four sub-steps:
1) Integrate existing OS X port into main branch
The existing MiniDLNA OS X port resides in the "osx_port" development branch.
You can read more about it here:
[login to view URL]
I'm not sure by how far the osx_port branch is out of sync with the main
branch but it should be ok. Some code of the osx_port branch might be
OS X specific and the build script probably incomplete. See here:
[login to view URL]
Goal of this first step is to merge the code of the osx_port and the main
branch as well as update the build scripts so that MiniDLNA can be compiled
out of the box on both Linux and OS X from one code base.
2) Windows CLI port
MiniDLNA can run as a daemon under Linux or as a normal command-line
application (for debug purposes). In this first step, the MiniDLNA server
just needs to properly run in application-mode on Windows - not as a
service.
MiniDLNA's makefile and build scripts should be extended so that they also
support a MinGW target and the MiniDLNA CLI application becomes compilable
for win32 target using MinGW compiler.
Preliminary analysis indicates that the major hurdle to achieve the initial
Windows port should be the inotify syscall()'s used in the MiniDLNA source
code. This functionality must be re-implemented using the Windows
ReadDirectoryChangesW API.
3) Porting to Windows Service
Implement the MiniDLNA server as a Windows Service: Just as MiniDLNA can
be started as a deamon under Linux the windows port should also run as a
windows service. In addition, there should be the possibility to check the
status or start/stop/restart the MiniDLNA server either via a tray icon or
shortcuts under Start->Programs menu.
Because MiniDLNA is an open-source program under GPL license you could
reuse code from other GPLed programs that run as Windows Service. There
are several such open-source projects that seem to use code derived from
sample code in the Windows Platform SDK.
4) Trim down external dependencies
In the source file "metadata.c", MiniDLNA parses input media files for meta
data like title, artist or playback duration. MiniDLNA requires a rather
large number of external libraries for this task like libjpeg, libid3tag,
libexif, libavformat and libavcodec. Especially, libavformat and libavcodec
are full-featured (and large!) container muxing/demuxing and video/audio de-
and encoder libraries. MiniDLNA however doesn't use any de- or encoding
functionality at all.
Therefore, the meta data parsing in "metadata.c" should be changed to
interface with libmediainfo, which provides the necessary functionality:
[login to view URL]
At least the references to libavformat and libavcodec should be replaced
by libmediainfo. However, libmediainfo has potential to replace also other
dependencies (like libid3tag, libjpeg, libvorbis, etc.). So the goal of this
step is to reduce the number of external dependencies as much as
reasonably possible.
Please only bid if you have read and understood the project description!
Can help... I am an expert... please check my reviews, qualifications and latest projects i have worked on... please provide more details so that i can give you an accurate bid...
Dear client,
Thanks for your posting on www.freelancer.com.
I've gone with your specification & will port the MiniDLNA server program to Windows and Mac OS X that will run conveniently when used on both OS X and a modern Windows PC
Pl feel free to respond anytime with your suggestions or concerns if any
Many Thanks!!
Jimm
Hi, i can port it wo any windows OS in the moment. Porting it to mac would be possible at a later stage. If you need my help porting the server let me know. best regards Oliver