This project has moved and is read-only. For the latest updates, please go here.

Is it possible to port this library to WinRT?

May 16, 2013 at 7:45 PM
First of all I can never thank you enough for this library, it works like a charm!

Is it possible to port this library to WinRT? I didn't go through the source code, but I wonder how easy/hard is it to port it?

May 17, 2013 at 12:11 AM
I've had it on my "something to look at" list for a while now. It has been far below some of the fancier playback features (e.g., alternate audio streams, stand-alone AAC stream support), but I have gotten that same question a couple of times now so perhaps it is something that belongs further up said list

I am looking at some issues with the WP8 Player Framework plugin anyway (the likely base for Win8 support)...

It would likely involve copying the *.WP8 projects converting them to Win8 and then integrating something like: The core assemblies--SM.Media and SM.TsParser--are already compiled for Win8 (the PCLs include ".NET for Windows Store apps").
May 24, 2013 at 12:08 PM
Can you please share any time line for WinRT? This would be the first open source library that supports WinRT... I really can't wait for it :)
May 28, 2013 at 5:20 AM
It's on the list... first up is getting some buffer recovery problems sorted. After I have that sorted, I intend to take a look at the WinRT side of things to at least get an idea of the scope of things--that is both for Win8 support and to see if one might solve some WP8 issues by using a lower-level API.
Sep 3, 2013 at 9:31 AM
Regarding the WinRT support, does the MediaStreamSource support in 8.1 make it easier to port the code? As the 8.1 is a free update, I think everyone could live with it if this library wouldn't support 8.0 :)
Sep 3, 2013 at 9:12 PM
It may well be much simpler. However, I will probably not know until I have an 8.1 install (which looks like GA since MS doesn't seem willing to share early with MSDN folks).

I still have some problems with MSS on WP8 (e.g., I can't seem to get it ever report being in the Buffering state); Win8's MSS may also have "character".
Sep 11, 2013 at 12:25 PM
Edited Sep 11, 2013 at 12:30 PM
Now that Microsoft has surprisingly released Win8.1 RTM early, I decided to check if it would take just a click of a button for the WinRT version. Well, it's not that easy :)

Things seem to be somewhat different in WinRT world. The default namespace is now Windows.Media.Core and that one is missing some classes. I tried to start based on the Platform.WP7 but encountered at least the following problems:
  • Missing classes: MediaSampleAttributeKeys, MediaStreamDescription
  • MediaStreamSource is sealed, so it can't be inherited
Without knowing almost anything about MediaStreamSource, the conversion is in hold :)

I had initially some problems getting thing to compile in VS2013. It complained that the System.Threading.Tasks-classes were defined in multiple DLLs. Things started working after uninstalling and installing back the Async (HttpClient, BLC etc) Nuget-packages.
Sep 12, 2013 at 9:29 AM
I installed the 8.1 RTM for just this reason. After taking a quick look (including having some NuGet fun), it looks like it isn't going to be all that much work to get it working.

But first I'm looking at addressing the underlying cause of the problem discussed in M3u8 with relative path and copied to the "Dynamic Stream Configuration" work item. Just last week, I ran into the same thing twice.

See also the "Can I use this library for Windows 8?" work item.
Sep 26, 2013 at 2:42 AM
Something like a first go at Win8.1 support has been checked in. Some more details are in a comment for the work item.

The new model for MediaStreamSource is much better. If we are lucky, WP8.1's MSS will morph into something more like the Win8.1 version.
Sep 27, 2013 at 6:38 AM
I haven't had time to play with the WinRT support yet but wanted to say this: Thank you!
Sep 27, 2013 at 9:48 AM
Well, you're welcome.

There is, however, much work that still needs to be done (e.g., I haven't even started looking at how to handle seeks with the new MSS).