Developer Center Updates – Reorganization
Every have a week where your calendar looks like this:
I hadn’t, until recently =) This week, I have been in TONS of meetings but have managed to eek out the resource page for Learn Windows: Audio and Video. There has been a good bit of developer center cleanup as well that has been happening. There have been numerous cases where we have had 2-3 pages that all point to the same resources. It’s tricky to find all the pages and extinguish them, but I have been trudging along. The really tricky part is finding all the places that link inconsistently to content. Anyways, I’m working on it. Feel free to click the send feedback button if you find links that point to dead content or if you see pages on the center that could use some work.
Use This not That
New section! Thanks DanF for the feedback on last week’s roundup. Time permitting, I would like to start dedicating whole posts to this, but for this week, I’ll just have a quickie for you before heading to my next meeting – I’m totally ditching one right now to post this…
Unless you are targetting Windows XP, are writing software that should support DVD playback, or are working on a large code base that uses DirectShow… Use Media Foundation, not DirectShow.
Media Foundation is Microsoft’s latest solution for integrating audio and video into applications. In particular, if your application targets Windows 7 (Media Foundation isn’t truly full-featured in previous versions of Windows, including Vista), you will get a full-featured API that lets you:
Media Foundation supports hardware accelleration. This means that your applications will run faster if your customers have a DirectX compatible video card. This also means that customers can sometimes spiff up their performance in your applications by upgrading their videocard and not their CPU. Even more awesome is that Media Foundation is optimized in the latest versions for High Definition video! If your application uses HD video, processing it is very CPU intensive. With DXVA-HD, you get to offload this work onto the GPU.
There are a number of common programming patterns used in Media Foundation, the most common two are the playback pattern:
- Container > Parser > Decoder
and the Media capture and storing pattern:
- Source > Encoder > Mutiplexer/Writer > Container (file)
You can read more about the fundamental concepts of Media Foundation on the Media Foundation: Essential Concepts learning page.
Thanks for reading!