MFCreateDeviceSource function

Creates a media source for a hardware capture device.

Syntax


HRESULT MFCreateDeviceSource(
  _In_  IMFAttributes  *pAttributes,
  _Out_ IMFMediaSource **ppSource
);

Parameters

pAttributes [in]

Pointer to the IMFAttributes interface of an attribute store, which is used to select the device. See Remarks.

ppSource [out]

Receives a pointer to the media source's IMFMediaSource interface. The caller must release the interface.

Return value

If this function succeeds, it returns S_OK. Otherwise, it returns an HRESULT error code.

Remarks

Important  When the capture device is no longer needed, you must shut down the device by calling Shutdown on the IMFMediaSource object you obtained by calling MFCreateDeviceSource. Failure to call Shutdown can result in memory links because the system may keep a reference to IMFMediaSource resources until Shutdown is called.
 

The pAttributes parameter specifies an attribute store. To create the attribute store, call the MFCreateAttributes function. You must set the MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE attribute, which specifies the type of device (audio or video).

For audio capture devices, optionally set one of the following attributes:

AttributeDescription

MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID

Specifies the audio endpoint ID of the audio capture device.

MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ROLE

Specifies the device role. If this attribute is set, the function uses the default audio capture device for that device role.

Do not combine this attribute with the MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_AUDCAP_ENDPOINT_ID attribute.

 

If neither attribute is specified, the function selects the default audio capture device for the eCommunications role.

For video capture devices, you must set the following attribute:

AttributeDescription

MF_DEVSOURCE_ATTRIBUTE_SOURCE_TYPE_VIDCAP_SYMBOLIC_LINK

Specifies the symbolic link to the device.

 

Requirements

Minimum supported client

Windows 7 [desktop apps only]

Minimum supported server

Windows Server 2008 R2 [desktop apps only]

Header

Mfidl.h

Library

Mf.lib

DLL

Mf.dll

See also

Audio/Video Capture in Media Foundation
Capture Device Attributes
Media Foundation Functions
MFCreateDeviceSourceActivate

 

 

Show: