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 |
---|---|
|
A transição do estado do fluxo foi bem-sucedida. |
|
O dispositivo MFT não pôde dar suporte à solicitação no momento. |
|
Uma ID de fluxo inválida foi passada. |
|
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 |