atributo MF_TRANSFORM_ASYNC
Especifica se uma MFT (transformação do Media Foundation) executa processamento assíncrono.
Tipo de dados
UINT32
Obter/definir
Para obter esse atributo, chame IMFAttributes::GetUINT32.
Para definir esse atributo, chame IMFAttributes::SetUINT32.
Comentários
O atributo é um valor booliano:
- Se o atributo não for zero, o MFT executará o processamento assíncrono.
- Se o atributo for 0 ou não definido, o MFT será síncrono.
Para obter esse atributo, primeiro chame IMFTransform::GetAttributes para obter o repositório de atributos do MFT. Se esse método for bem-sucedido, chame IMFAttributes::GetUINT32 para obter o valor do atributo. Se um dos dois métodos falhar, o MFT será síncrono.
Para MFTs assíncronos, esse atributo deve ser definido como um valor diferente de zero. Para MFTs síncronos, esse atributo é opcional, mas deve ser definido como 0 se presente.
MFTs assíncronos não são compatíveis com versões anteriores do Media Foundation. Para usar um MFT assíncrono, o cliente deve definir o atributo MF_TRANSFORM_ASYNC_UNLOCK no MFT. (O pipeline do Microsoft Media Foundation executa essa etapa automaticamente.)
Exemplos
O código a seguir testa se um MFT executa processamento assíncrono.
BOOL IsTransformAsync(IMFTransform *pMFT)
{
BOOL bAsync = FALSE;
IMFAttributes *pAttributes = NULL;
HRESULT hr = pMFT->GetAttributes(&pAttributes);
if (SUCCEEDED(hr))
{
bAsync = MFGetAttributeUINT32(pAttributes, MF_TRANSFORM_ASYNC, FALSE);
pAttributes->Release();
}
return (bAsync != FALSE);
}
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte |
Windows 7 [aplicativos da área de trabalho | Aplicativos UWP] |
Servidor mínimo com suporte |
Windows Server 2008 R2 [aplicativos da área de trabalho | Aplicativos UWP] |
Cabeçalho |
|
Confira também