LibMMS
library for parsing
Microsoft Media Streaming
protocol
What is LibMMS?
===============
LibMMS is common library for parsing mms:// and mmsh:// type network
streams. These are commonly used to stream Windows Media Video content
over the web. LibMMS itself is only for receiving MMS stream, it
doesn't handle sending at all. If you need streaming functionality,
look for other protocol, such as RT(S)P. MMS is legacy thing, being
closed with no specs and abandoned even by its creator, the Microsoft Corp.
Why LibMMS?
===========
LibMMS was created out of need for common library that would remedy
current situation where each Free Software project maintains its own
implementation of MMS protocol handling, creating unnecessary code and
effort duplication and introducing feature disparity as not every
bugfix gets into each of them. It also addresses need for LGPL
licensed code for that task, as every current implementation is
licensed as GPL, thus knocking out many projects that do not use GPL
themselves.
Howto LibMMS?
=============
LibMMS is intended to be small and simple, being useful for any
project that needs MMS handling functionality. It is constructed in
such a way that allows plugging custom I/O implementation, thus being
easy to integrate with custom framework, and providing a way to add
timeouted or cancelable I/O etc.
Hmm, you said no specs? How so?
===============================
LibMMS code is based on amazing work done by SDP guys (http://get.to/sdp)
Without the specs they've reverse-engineered, there won't be any free
implementation of MMS handling today.
How is LibMMS licensed?
=======================
LibMMS is Free Software, licensed under GNU Library General Public
License. Original code comes from Xine project (http://xine.sf.net),
and it got separated for number of reasons, one of them being desire
to provide non GPL projects with library they could use. There's a
number of valuable LGPL projects locked out by GPL libraries, besides
we strongly feel that GPL is bad license for a library, as it's not
library thing to mess with its users licensing by vague interpretations
of wether linking makes binary derived work. We want libraries to be
used, and for that, we need to stay clean.