Create professional-quality media applications and components with Microsoft Media Foundation—and deliver the next generation of high-definition multimedia. With this hands-on book, you’ll learn how to build applications to capture video and audio files of different types, process media information, and stream it over the Internet. If you program with C++ and the Component Object Model (COM), this book is ideal—especially for developers looking to transfer their skills from Microsoft DirectShow®.
Discover how to:
Construct media pipelines with individual Media Foundation components
Build a simple video player to see how a basic media session works
Create applications that transcode media content from one format to another
Process data streams by writing Media Foundation Transform objects
Examine the internal architecture of Media Foundation Sources and Sinks
Design a custom media session object to learn advanced Media Foundation concepts
Create image overlays on top of video and send the result over the network
Chapter 1 Core Media Foundation Concepts
Media Foundation Audio/Video Pipelines
Media Foundation Components
Media Foundation Topologies
Conclusion
Chapter 2 TopoEdit
Manual Topology Construction in TopoEdit
Capturing Data from External Sources
Conclusion
Chapter 3 Media Playback
Basic File Rendering with Media Sessions
Building the Media Pipeline
Conclusion
Chapter 4 Transcoding
The Transcode API
Transcoding with the Source Reader
Conclusion
Chapter 5 Media Foundation Transforms
MFT Architecture Overview
Writing a Simple MFT
Injecting Images into Video Frames
Conclusion
Chapter 6 Media Foundation Sources
Overview
The Asynchronous Call Pattern
Instantiating a Media Source
Media Foundation Events
The Media Foundation Source
Media Stream Objects
Windows Property Handlers
Conclusion
Chapter 7 Media Foundation Sinks
The Sample AVI File Sink
The AVI Media Sink
The AVI Media Stream
Conclusion
Chapter 8 Custom Media Sessions
The Custom MP3 Media Session
Building an MP3 Topology
The Custom Session Data Pipeline
The Session Clock
Conclusion
Chapter 9 Advanced Media Foundation Topics
Rendering a Player UI with the EVR Mixer
Streaming a Network Player
Conclusion
Appendix Debugging Media Foundation Code
Media Foundation Error Lookup
The MFTrace Tool
Appendix COM Concepts
The IUnknown Interface
COM Object Registration
Appendix Active Template Library Objects
ATL Smart Pointers
CComCritSecLock and CComAutoCriticalSection Thread Synchronization Helpers
Title:
Developing Microsoft® Media Foundation Applications
Anton Polinger has worked on the Microsoft Audio/Video pipelines and media technologies for the past eight years, owning the entire pipeline for five releases of Media Center from XP through Windows 7. He has conducted seminars that describe MS media technologies and the Media Center pipeline and taught programming classes on subjects ranging from web development to advanced C++. Anton has a Master’s degree in Software Engineering from Syracuse University.