Is the media foundation the suitable starting point for my app?

Hi,

I am trying to write an app that does the following:

1. Displays fullscreen the input to a composite video/audio input of a video capture device.

2. Realtime overlays audio peak data in a VU meter style.

3. Is able to play only left-channel and/or right channel information from the stereo audio feed.

4. Is able to show realtime some equalisation information of the audio stream. e.g. a variety of eq ranges from some FFT on the audio data.

I am new to Vista programming, and have little C++ experience, though am happy programming c# and windows forms. I had to give up trying to do this with DirectShow in XP since I was unable to find a way of displaying the audio in a VU style meter (which is annoying since lots of apps do this so perhaps it shouldn't be too hard).

What I want to know is where I should put my effort. What bits of Vista programming will help me acheive this aim. Would I have to learn to program with the media foundation (and brush up my unmanaged C++)?

Should I try to use DirectX? Is this possible as a vista media center plug-in /app? Indeed is this going to be possible using the mediaelement control in .net 3.0?

Any advice would be greatly appreciated.

Steve

[1284 byte] By [woodced] at [2008-2-10]
# 1

Hi Steve,

The kinds of things you're asking for are actually a bit higher-level than what Media Foundation provides. So technically speaking, there should be nothing preventing you from making the above work in Media Foundation, but you would have to supply a lot of the pieces yourself: For instance, you would need to implement a Media Source that pulls data from capture device, and you would probably need to insert various custom Media Foundation Transforms or Media Sinks to intercept your data and do the processing you want done.

In other words, quite a bit of elbow grease, especially given that you prefer writing managed code.

As for whether there are any higher-level technologies that would get you up and running faster than the above, I don't know. You might want to try the media newsgroups: http://www.microsoft.com/windows/windowsmedia/community.aspx; someone in the community may already have done something like this.

I hope that helps,

Becky

BeckyWeiss-MSFT at 2007-9-10 > top of Msdn Tech,Audio and Video Development,Media Foundation Development...