IMFRealTimeClient interface (mfidl.h)
Notifies a pipeline object to register itself with the Multimedia Class Scheduler Service (MMCSS).
Any pipeline object that creates worker threads should implement this interface.
Inheritance
The IMFRealTimeClient interface inherits from the IUnknown interface. IMFRealTimeClient also has these types of members:
Methods
The IMFRealTimeClient interface has these methods.
IMFRealTimeClient::RegisterThreads Notifies the object to register its worker threads with the Multimedia Class Scheduler Service (MMCSS). (IMFRealTimeClient.RegisterThreads) |
IMFRealTimeClient::SetWorkQueue Specifies the work queue for the topology branch that contains this object. |
IMFRealTimeClient::UnregisterThreads Notifies the object to unregister its worker threads from the Multimedia Class Scheduler Service (MMCSS). (IMFRealTimeClient.UnregisterThreads) |
Remarks
Media Foundation provides a mechanism for applications to associate branches in the topology with MMCSS tasks. A topology branch is defined by a source node in the topology and all of the nodes downstream from it. An application registers a topology branch with MMCSS by setting the MF_TOPONODE_WORKQUEUE_ID attribute on the source node and then calling IMFWorkQueueServices::BeginRegisterTopologyWorkQueuesWithMMCSS.
When the application registers a topology branch with MMCSS, the Media Session queries every pipeline object in that branch for the IMFRealTimeClient interface. If the object exposes the interface, the Media Session calls RegisterThreads.
When the application unregisters the topology branch, the Media Session calls UnregisterThreads.
If a pipeline object creates its own worker threads but does not implement this interface, it can cause priority inversions in the Media Foundation pipeline, because high-priority processing threads might be blocked while waiting for the component to process data on a thread with lower priority.
Pipeline objects that do not create worker threads do not need to implement this interface.
In Windows 8, this interface is extended with IMFRealTimeClientEx.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows Vista [desktop apps only] |
Minimum supported server | Windows Server 2008 [desktop apps only] |
Target Platform | Windows |
Header | mfidl.h |