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
- (new) MediaEngine CustomSource Xaml Sample - A sample C++ UWP application that shows an implementation of a Media pipeline using Media Engine with a "Custom Media Source". The custom source allows greater control in the data passed to Media Engine.
- (new) Xaml Swapchain with MFT Sample - A sample C++ UWP application that shows an implementation of a media pipeline using a XAML swapchain panel and an MFT (Media Foundation Transform). The sample gives an outline of how an MFT might be used in a wide range of scenarios such as decoding to ML effects on video frames.
- 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
-
Media Experience Analyzer (MXA) - An advanced analysis tool used by Media experts to analyze Media Foundation performance traces.
![MXA Screenshot](https://github.com/microsoft/media-foundation/raw/master/images/mxa_small.png)
- Available for download packaged with the Windows ADK here. You can opt to install only MXA using the installer.
![MXA ADK Installer](https://github.com/microsoft/media-foundation/raw/master/images/adk_installer.png)
- Microsofts Channel9 has produced a series of training videos for MXA available here
-
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](https://github.com/microsoft/media-foundation/raw/master/images/gpuview_small.png)
-
TopoEdit - A visual tool for building and testing Media Foundation topologies.
![TopoEdit Screenshot](https://github.com/microsoft/media-foundation/raw/master/images/topo_small.png)
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.