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.
- (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.
-
Media Experience Analyzer (MXA) - An advanced analysis tool used by Media experts to analyze Media Foundation performance traces.
-
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.
- Available in the Windows SDK
- Also available in the Windows Performance Toolkit
-
TopoEdit - A visual tool for building and testing Media Foundation topologies.
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 [email protected] with any additional questions or comments.