Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Developing Microsoft® Media Foundation Applications
Introduction
Who Should Read This Book
Assumptions
Who Should Not Read This Book
Organization of This Book
Finding Your Best Starting Point in This Book
Conventions and Features in This Book
Standard Coding Practices
System Requirements
Code Samples
Installing the Code Samples
Using the Code Samples
Acknowledgments
Errata & Book Support
We Want to Hear from You
Stay in Touch
1. Core Media Foundation Concepts
Media Foundation Audio/Video Pipelines
Media Foundation Components
Data Flow Through a Media Foundation Pipeline
Media Foundation Topologies
Conclusion
2. TopoEdit
Manual Topology Construction in TopoEdit
Capturing Data from External Sources
Conclusion
3. Media Playback
Basic File Rendering with Media Sessions
Creating the Player
Initializing the Media Session
Media Session Asynchronous Events
Event Processing and Player Behavior
Building the Media Pipeline
Creating the Media Foundation Source
Building the Partial Topology
Resolving the Partial Topology
Conclusion
Class Listings
4. Transcoding
The Transcode API
Creating a Transcode Profile
Configuring Target Audio Settings
Configuring Target Video Settings
Configuring the Target Container
Determining the Target Transcode Format
The Transcoding Session
Transcoding with the Source Reader
Creating a Source Reader and a Sink Writer
Mapping Sink Writer Streams
Intermediate Format Negotiation
The Target Transcode Media Type
The Source-Reader-to-Sink-Writer Loop
Conclusion
Class Listings
5. Media Foundation Transforms
MFT Architecture Overview
Writing a Simple MFT
Stream Configuration Functions
Media Type Selection Functions
MFT Data Processing
Status Query and Event Functions
MFT Registration
Injecting Images into Video Frames
Uncompressed Video Formats
RGB to YUV Image Conversion
Frame Format Detection
UYVY Image Injection
NV12 Image Injection
Conclusion
Class Listings
6. Media Foundation Sources
Overview
The Asynchronous Call Pattern
Instantiating a Media Source
The AVF Byte Stream Handler
Media Foundation Events
The Media Foundation Source
Initializing the Source
Creating a Presentation Descriptor
Creating Media Stream Objects
Asynchronous Source Command Functions
Starting Playback
Source Media Event Functions
Sample Streaming in AVFSource
Media Stream Objects
Windows Property Handlers
Conclusion
Class Listings
7. Media Foundation Sinks
The Sample AVI File Sink
The AVI Media Sink
Media Stream Sink Control Functions
Media Sink Clock Functions
The Sink Data Loop
The AVI Media Stream
Stream Playback Control Functions
Stream Sample Functions
Stream Markers
Conclusion
Class Listings
8. Custom Media Sessions
The Custom MP3 Media Session
Building an MP3 Topology
Negotiating Media Type
The Custom Session Data Pipeline
Synchronous and Asynchronous MFTs
Synchronous Media Foundation Pipeline Events
MP3 Session Data Flow
The Session Clock
Conclusion
Class Listings
9. Advanced Media Foundation Topics
Rendering a Player UI with the EVR Mixer
Streaming a Network Player
Building the Network Topology
The HTTP Byte Stream Activator
The HTTP Output Byte Stream
Conclusion
Class Listings
A. Debugging Media Foundation Code
Media Foundation Error Lookup
The MFTrace Tool
An MFTrace Example
MP3 Source Instantiation Traces
B. COM Concepts
The IUnknown Interface
COM Object Registration
C. Active Template Library Objects
ATL Smart Pointers
CComCritSecLock and CComAutoCriticalSection Thread Synchronization Helpers
Index
About the Author
← Prev
Back
Next →
← Prev
Back
Next →