YUV and PCM output - and Ogg support RRS feed

  • Question

  • Hello,

    being involved with Xiph.org I of course would love to see support for Ogg codecs in Silverlight. Windows Media just isn't a widespread and well-supported solution for other platforms than Windows (releasing binary codec blobs restricted to certain uses won't solve this - I see e.g. Debian not shipping something like that for various reasons). Thankfully it seems Microsoft is committed to interoperability with Linux - but in this particulary area things are pretty suboptimal. Mozilla will very likely ship Ogg Vorbis + Theora support with future Firefox versions (same for Opera) and Wikipedia is also Ogg-only, so having support for Ogg in Silverlight for sure will make some Silverlight customers happy. The Moonlight developers seem to consider implementing a bridge to GStreamer (which supports Ogg) to provide support for formats beyond Windows Media. As a side note Microsoft is using a couple of Ogg codecs in some products (albeit invisible to the user) and of course Xiph.org would be more than happy to assist bringing Ogg to Silverlight.

    Alternatively Silverlight should recognize it doesn't currently support a codec needed by an application and should either offer automatic installation of 3rd-party codecs or instruct the user how to accomplish this.

    Another solution would be to allow Silverlight apps to draw YUV  (or at least RGB) data onto some sort of canvas and to allow output of PCM samples. I talked to some Mono/Moonlight people and it seems this currently is not possible, which did surprise me. Having these output options would mean Silverlight apps can ship with their own decoders. There's a Java applet (Cortado) for Ogg playback and performance is good enough for bitstreams with usual streaming bitrates and resolutions. Assuming that managed .net code isn't slower than usual Java code - and I assume just that - we could e.g. provide some Ogg playback Silverlight-"applet" (with minor modifications our decoders written in C can be compiled to CLR, so I guess this is a viable way).


    Maik Merten


    Thursday, September 6, 2007 6:13 AM