title: Which one to use: DirectX? Windows Media Player? GNU? Others?
body: <p>I want to create a windows Forms program where I play an AVI file.
  I want to be able to play it in full speed, to pause, to get the total number of frames, and to show a given frame (seek).
  The AVI file has metadata for the file AND metadata per frame.</p>
  
  <p>I want to do this in a windows Forms application in C#, or if it is really necessary using C++.
  Internet search shows me a lot of possibilities to use: DirectX, DirectShow, Windows Media Player, Microsoft DirectX9, GNU code, and several other methods.</p>
  
  <p>Alas I haven't seen one that supports all that I want, especially the metadata per frame is not used often.</p>
  
  <p>It seems that several of these methods are obsolete, for instance to be able to use Microsoft DirectX I need to add "useLegacyV2RuntimeActivationPolicy".</p>
  
  <p>So anyone who knows what method is the latest and greatest method to use in windows programming? Which method allows me to show metadate-per-frame?</p>