Compartilhar via


Método IMFDeviceTransform::SetOutputStreamState (mftransform.h)

O método SetOutputStreamState define o estado do fluxo de saída do Dispositivo MFT e o tipo de mídia.

Sintaxe

HRESULT SetOutputStreamState(
  [in] DWORD             dwStreamID,
  [in] IMFMediaType      *pMediaType,
  [in] DeviceStreamState value,
  [in] DWORD             dwFlags
);

Parâmetros

[in] dwStreamID

ID de fluxo do fluxo de entrada em que o estado e o tipo de mídia precisam ser alterados.

[in] pMediaType

O tipo de mídia preferencial para o fluxo de entrada é passado por meio desse parâmetro. O dispositivo MFT deverá alterar o tipo de mídia somente se o tipo de mídia de entrada for diferente do tipo de mídia atual.

[in] value

Especifica o DeviceStreamState para o qual o fluxo de entrada deve fazer a transição.

[in] dwFlags

Deve ser zero.

Valor retornado

O método retorna um HRESULT. Os valores possíveis incluem, mas não se limitam aos valores fornecidos na tabela a seguir.

Código de retorno Descrição
S_OK
A transição do estado do fluxo foi bem-sucedida.
MF_E_INVALIDREQUEST
O dispositivo MFT não pôde dar suporte à solicitação no momento.
MF_E_INVAILIDSTREAMNUMBER
Uma ID de fluxo inválida foi passada.
MF_E_INVALID_STREAM_STATE
A transição de fluxo solicitada não é possível.

Comentários

Esse método de interface ajuda a fazer a transição do fluxo de saída para um estado especificado com o tipo de mídia especificado definido no fluxo de saída. Isso será usado pelo DTM quando a Origem do Dispositivo solicitar que o estado e o tipo de mídia de um fluxo de saída específico sejam alterados. O MFT do dispositivo deve alterar o tipo de mídia e o estado do fluxo de saída especificados para o tipo de mídia solicitado.

Se o tipo de mídia de entrada e o estado do fluxo forem iguais ao tipo de mídia atual e ao estado de fluxo, o método retornará S_OK.

Se o tipo de mídia de entrada e o tipo de mídia atual do fluxo forem os mesmos, o Dispositivo MFT deverá alterar o estado do fluxo para o valor solicitado e retornar o HRESULT apropriado.

Quando uma alteração no tipo de mídia do fluxo de saída requer uma alteração correspondente na entrada, o Device MFT deve postar o evento METransformInputStreamStateChanged no DTM para alterar o fluxo de entrada relevante. A chamada deve retornar somente depois de alterar o tipo de mídia do fluxo de entrada e o HRESULT apropriado.

Por exemplo, considere um dispositivo MFT que tenha dois fluxos de entrada e três fluxos de saída. Deixe a saída 1 e a saída 2 da origem da Entrada 1 e transmita a 720p. Agora, digamos que o tipo de mídia da Saída 2 mude para 1080p. Para atender a essa solicitação, o Dispositivo MFT deve alterar o tipo de mídia Entrada 1 para 1080p, postando o evento METransformInputStreamStateChanged no DTM. A DTM chamaria SetInputStreamState para alterar o tipo de mídia e o estado do fluxo de entrada. Após essa chamada, o SetOutputStreamState deve retornar.

Requisitos

   
Cliente mínimo com suporte Windows 10, versão 1703
Plataforma de Destino Windows
Cabeçalho mftransform.h

Confira também

IMFDeviceTransform