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
Mftransform.h

Confira também

Lista alfabética de atributos da Media Foundation

MFTs assíncronos

Transformar atributos

MF_TRANSFORM_ASYNC_UNLOCK