locked
Is Media Foundation ready for software development now? RRS feed

  • Question

  • Hi all

      I'm new to Media Foundation and spent several days looking for and studying its information.
      As you know, we can find very few documents currently. The main source is the MSDN
      online version and is still very immature.

      Since Vista has already claimed MF as its next-generation platform for high qualitiy
      multimedia presentation and the PMP/PE forced people who want to take advantage
      by OS-native protection to use Media Foundation instead of DShow (as you know,
      PMP only supports MF.), I think people who want to develop multimedia applications
      (well, maybe for Bluray or HD) should consider now to change from DShow to MF.

      But from the documents I read and from this forum I saw lots of unresolved issues
      (including the multiple input issue -- I can't imagine how this is going to happen.),
      and each release of SDK changes a lot.
     
      So here is my question, I hope someone familiar with current MF can help me
      to decide if it is worthy to keep working on MF:
    • Do you think Media Foundation is ready now for software development now?
    • Can we find a stable platform (w/SDK's) to write MF application, MFT's, Media sources, and even PMP? (I've tried Vista32 and Vista64. The 64 bit is really a disaster... Even with 32 bit + VS2005 I got many problems. And well, what about the PMP? I can't even "try" unless I pay lots for the license?)
    • Can we expect our effort now will not be useless in final version of MF? 
    • Are there any commercial applications using MF architecture now? Or any company is already working on it? (I know there's Media Player and WMV -- but WMV and WMP are both too limited in function and they look more like MF's own demonstration. Do any major DVD player companies provide MF version now?)
      I'd really like to write applications with premium content and make it ready just when
      Vista released but I don't know if MF is ready for it or if most people are going to keep
      using DShow until MF final released.

    Thursday, July 27, 2006 8:52 AM

Answers

  • The answer will depend on what do you want to do with MF.

    If you want to support a new codec, I think to use MF is more easy than the DShow solution. The architecture of MFT is very simple to implement.

    But I think if you want to build a general playback system, you should not to use MF. Current, there are not abundant decoders and media sources to support MF. So you must mix DShow and MF solutions in your system. I do not think that is a good idea.

     

    Monday, July 31, 2006 8:57 AM
  • I definitely hear you about the fact that MF in its v1 incarnation lacks support for some obviously useful features.  This is more a by-product of being a v1 API than any architectural limitation of MF.  Support of more formats, as well as support for multi-input MFTs (as Fei-Tian and I were discussing on another thread) are obvious things that it would be important for us to start supporting next... we're aware of that.  BTW, I'd also like to hear of other things you think of that you would really like to see that MF is missing right now -- part of what this forum is for is for us to hear your feedback.

    I think Fei-Tian put it well: There are certainly still some things for which DirectShow is still your better bet.  If nothing else, if you plan to have your application run on earlier OSes (XP and earlier), you'll need DirectShow, since MF is Vista-only.  And, as noted, DirectShow has lots more "stuff" than MF does right now.

    That said, if you're able to write Vista-only code and your scenario permits, I do encourage you to give Media Foundation a try (and report problems back on this forum!).  It's a nice clean architecture (in my opinion, of course :-) ), and you can expect that future innovations will be MF-focused.  To answer your initial question, for what it does, MF is ready for prime time.

    Whichever way you decide to go... good luck!

    Becky

    Monday, July 31, 2006 4:10 PM

All replies

  • Yes Media Foundation is ready now for software development.

    Note that in Vista we have focused on specific scenarios. We have focused on tuning the platform primarily on playback applications in this version. Similarly Vista does not come bundled with "utilities" like the variety of filters that we ship for DirectShow. That doesn't mean the platform can be used only for these scenarios. You can certainly do more, but you will need to write more code yourself. You will need to evaluate if the feature set provided by the Media Foundation platform in this initial version is sufficient for your scenarios.

    Windows Media Player uses Media Foundation in Vista for playing WMA and WMV and for transcoding protected WMA and WMV, which was not possible with earlier platforms. A handful of the major media player companies (names withheld intentionally) are in the early stages of writing their players on top of Media Foundation.

    I encourage you to post the problems you are facing in developing on top of Media Foundation. That way we will learn about them, and others on this forum may be facing the same problems as well.

    While on the topic, here is a paper you might find handy if you are familiar with DirectShow and are figuring out how to migrate to Media Foundation: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwmt/html/t_d_migrating_from_directshow_to_media_foundation__cyor.asp

    Regards,

    Sumedh

    Sunday, July 30, 2006 2:10 AM
  • The answer will depend on what do you want to do with MF.

    If you want to support a new codec, I think to use MF is more easy than the DShow solution. The architecture of MFT is very simple to implement.

    But I think if you want to build a general playback system, you should not to use MF. Current, there are not abundant decoders and media sources to support MF. So you must mix DShow and MF solutions in your system. I do not think that is a good idea.

     

    Monday, July 31, 2006 8:57 AM
  • From the migration page given by the URL above I still have some question. It looks like
    that some features are not enabled in current release of MF.

    For example, from the table we can find
    Multiple inputs and multiple outputs: (MF) Yes (DS) YES
    But from the thread "Mutl-input and multi-output" in this forum you can find::
    "Does MF support multi-inputs MFT ? Answer is NO. "

    Another example, according to the table MF is not going to support MPEG2/DVD/TV.
    But are we going to apply DShow even if we have HDTV content? I think HDTV is
    also "premium content" and should be protected by MF.

    For why I asked if any company is already developing MF players is because the most
    hot spot feature in multimedia content now is "PIP" (Picture in picture) which is supported
    by most new modern pre-recorded premium contents. However since Media Foundation
    does not support multiple input/output I can't figure out how this can be achieved. It's also
    hard to implement interaction and navigation menu in current design (by the limitations of
    EVO: must be YUV, and single input). Or, MF will only be applied to high quality contents
    "without" interaction? I'm really curious about this.

    Monday, July 31, 2006 9:23 AM
  • I definitely hear you about the fact that MF in its v1 incarnation lacks support for some obviously useful features.  This is more a by-product of being a v1 API than any architectural limitation of MF.  Support of more formats, as well as support for multi-input MFTs (as Fei-Tian and I were discussing on another thread) are obvious things that it would be important for us to start supporting next... we're aware of that.  BTW, I'd also like to hear of other things you think of that you would really like to see that MF is missing right now -- part of what this forum is for is for us to hear your feedback.

    I think Fei-Tian put it well: There are certainly still some things for which DirectShow is still your better bet.  If nothing else, if you plan to have your application run on earlier OSes (XP and earlier), you'll need DirectShow, since MF is Vista-only.  And, as noted, DirectShow has lots more "stuff" than MF does right now.

    That said, if you're able to write Vista-only code and your scenario permits, I do encourage you to give Media Foundation a try (and report problems back on this forum!).  It's a nice clean architecture (in my opinion, of course :-) ), and you can expect that future innovations will be MF-focused.  To answer your initial question, for what it does, MF is ready for prime time.

    Whichever way you decide to go... good luck!

    Becky

    Monday, July 31, 2006 4:10 PM
  • See the thread "How to control frame buffer mechanism".

    Again we find another reason why MF is not ready....

    Buffering and synchronization are the basis of a real media playback application.
    Unfortunately they are now only in some proprietary version of SDK.
    So I think there will not be any real commercial products developed using
    Media Foundation until Vista released.


    Friday, August 11, 2006 5:24 AM