ReadMe.md

ManagedMediaHelpers

Code Quick Start

If you just want to get right into the code, check out these directories

MediaParsers.Desktop

Mp3MediaStreamSource.SL4

Otherwise, read on for a little more detail.

Overview

The ManagedMediaHelpers projects are a set of classes for working with
and learning about Silverlight's MediaStreamSource which allows
media developers to ignore the media container and transport mechanism.

You may wonder -- why would anyone want to do this?

For one thing, having access to elementary streams means that developers
can now implement scenarios that other solutions haven't necessarily
provided thus far. One example of this is adaptive streaming or
multi-bitrate support as was seen during the 2008 Olympics and which is
available with IIS's SmoothStreaming

For another reason, having access to elementary streams allows
developers to implement scenarios that the Silverlight runtime hasn't
had a chance to implement yet or that the runtime might not be able to
implement in the same timeframe that a developer wants it. Examples of
this could be, RTSP:T protocol support, SHOUTcast protocol support,
seamless audio looping, ID3 v1 and ID3 v2 metadata support, and many
other scenarios.

Finally, having access to an object which takes elementary data (video
frames and audio samples) gives developers a chance to explore and learn
about some of the upper layers of media technologies without worrying
about setting up lots of underlying scaffolding and the headaches and
context that can entail.

How is this project structured

This solution consists of 9 projects with varying extensions.

You can look at these from a platform centric POV . . .

.Desktop builds against .NET Framework

.Phone builds against Windows Phone 7

.SL4 builds against Silverlight

. . . or a purpose centric POV.

Demo live apps for WP7 or Silverlight showing the MediaStreamSource in action