ISelector interface (vidcap.h)
[The feature associated with this page, DirectShow, is a legacy feature. It has been superseded by MediaPlayer, IMFMediaEngine, and Audio/Video Capture in Media Foundation. Those features have been optimized for Windows 10 and Windows 11. Microsoft strongly recommends that new code use MediaPlayer, IMFMediaEngine and Audio/Video Capture in Media Foundation instead of DirectShow, when possible. Microsoft suggests that existing code that uses the legacy APIs be rewritten to use the new APIs if possible.]
The ISelector
interface is used to select source nodes in a stream class driver. Applications can use this interface to select which input is active on the device. For example, if a USB video capture device has a camera and a tape transport, these inputs could be represented as source nodes.
Inheritance
The ISelector interface inherits from the IUnknown interface. ISelector also has these types of members:
Methods
The ISelector interface has these methods.
ISelector::get_NumSources The get_NumSources method returns the number of source nodes connected to the selector node. |
ISelector::get_SourceNodeId The get_SourceNodeId method returns the index of the active source node. |
ISelector::put_SourceNodeId The put_SourceNodeId method activates a source node. |
Remarks
A kernel-streaming (KS) filter contains one or more nodes. Each node encapsulates a processing task that is applied to the stream. In the following diagram, nodes 1 and 2 are source nodes and node 3 is a selector node.
The source nodes represent input streams—for example, a camera or a tape transport. The selector node controls which stream is sent to the filter's output pin. To switch between inputs, an application would do the following:
- Use the IKsTopologyInfo interface to enumerate the nodes and discover the node types, identifiers, and names.
- Call IKsTopologyInfo::CreateNodeInstance to create the selector node, passing in the node identifier and the interface identifier IID_ISelector. The method returns an
ISelector
interface pointer. - Use the
ISelector
interface to select the source node.
ISelector
interface is available if the selector node supports the PROPSETID_VIDCAP_SELECTOR property set. For more information, see the Windows DDK documentation.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows XP with SP2 [desktop apps only] |
Minimum supported server | Windows Server 2003 R2 [desktop apps only] |
Target Platform | Windows |
Header | vidcap.h |