Skip to main content
Home Forums Silverlight Design Video and Media mpeg-4 mediaStreamSource: Is this even necessary?
2 replies. Latest Post by DDtMM on July 15, 2009.
(0)
DDtMM
Member
86 points
101 Posts
07-02-2009 4:49 AM |
I'm working on writing an Mpeg-4 mediaStreamSource. The purpose of this is for only one reason: Seamless looping of audio. I am currently writing a parser, and I am well along with this. I really don't have a clue about what I am doing, but I had much success modifying the Mp3MediaStreamSource example, so I think I can slough along and get it to work.
My question is this: Am I wasting my time here? It seems like Silverlight already has a mp4 mediaStreamSource burried somewheree, if I could just override GetSampleAsync then I could probably accomplish what I wanted. Also, is it a possibilty that this might be a function when SL3 is released? Also, because of my ignorance I might have missed something, but I can't believe nobody has written a mp4 parser in a .NET language yet. I suppose the question is why would anybody need it?
aldenml
157 points
24 Posts
07-15-2009 1:14 PM |
Personally, I don’t think you are wasting your time but learning.
The mp4 parser included in Silverlight is an internal component aimed to support progressive download and lacks a lot of features. They have a piece of code inside the AdaptiveStreaming assembly source code (C#) to parse chunks of a fragmented mp4 but it is limited too.
This project http://mp4explorer.codeplex.com uses a library CMStream.Mp4.dll to make the parsing. In another blog http://blog.cmstream.net mentioned that it is implemented using C#.
Regards.
07-15-2009 1:24 PM |
Thanks for the reply. I'm pretty close to completing my mp4 parser, so hopefully this projects will fill up the little bits I'm missing. I even have an mp4explorer in Silverlight that looks very similar, and actually has preview. Don't know why I never found this project before.
...
Through some magical search term on Bing I was able to find a text document that had info on every relevant box.