/media-foundation

Repository for Windows Media Foundation related tools and samples

Primary LanguagePowerShellMIT LicenseMIT

What is this repo?

A collection of Microsoft Media Foundation sample apps along with tooling and documentation. Our goal is to share code samples, documentation, our favorite tools, and tips and tricks for troubleshooting Media Foundation issues.

Samples

  • MediaEngineUWP - A sample UWP C++/WinRT application which demonstrates media playback using the MediaFoundation MediaEngine API and the WinRT composition APIs.
  • MediaEngineEMEUWP - A sample UWP application written in C++ which demonstrates protected Playready EME media playback using the MediaFoundation MediaEngine API and the WinRT composition APIs.
  • MediaEngineDCompWin32Sample - A sample native C++ Win32 application which demonstrates media playback using the MediaFoundation MediaEngine API and the DirectComposition API.
  • storeCDM - A UWP app which loads a native implementation of the clearkey CDM.

Documentation

Tracing and Debugging

Microsoft Tools

  1. Media Experience Analyzer (MXA) - An advanced analysis tool used by Media experts to analyze Media Foundation performance traces. MXA Screenshot

    • Available for download packaged with the Windows ADK here. You can opt to install only MXA using the installer. MXA ADK Installer
    • Microsofts Channel9 has produced a series of training videos for MXA available here
  2. GPUView - A development tool for determining the performance of the graphics processing unit (GPU) and CPU. It looks at performance with regard to direct memory access (DMA) buffer processing and all other video processing on the video hardware.

    GPUView Screenshot

  3. TopoEdit - A visual tool for building and testing Media Foundation topologies.

    TopoEdit Screenshot

Other useful links

Contributing

We're always looking for your help to fix bugs and improve the samples. Create a pull request, and we'll be happy to take a look.

This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.