Método IMFDeviceTransform::SetOutputStreamState (mftransform.h)
El método SetOutputStreamState establece el estado del flujo de salida de MFT de dispositivo y el tipo de medio.
Sintaxis
HRESULT SetOutputStreamState(
[in] DWORD dwStreamID,
[in] IMFMediaType *pMediaType,
[in] DeviceStreamState value,
[in] DWORD dwFlags
);
Parámetros
[in] dwStreamID
Id. de secuencia del flujo de entrada donde se debe cambiar el estado y el tipo de medio.
[in] pMediaType
El tipo de medio preferido para el flujo de entrada se pasa a través de este parámetro. El dispositivo MFT debe cambiar el tipo de medio solo si el tipo de medio entrante es diferente del tipo de medio actual.
[in] value
Especifica deviceStreamState al que debe pasar el flujo de entrada.
[in] dwFlags
Debe ser cero.
Valor devuelto
El método devuelve un valor HRESULT. Entre los valores posibles se incluyen, entre otros, los valores especificados en la tabla siguiente.
Código devuelto | Descripción |
---|---|
|
La transición del estado de la secuencia se realizó correctamente. |
|
El dispositivo MFT no pudo admitir la solicitud en este momento. |
|
Se pasó un identificador de secuencia no válido. |
|
La transición de secuencia solicitada no es posible. |
Comentarios
Este método de interfaz ayuda a realizar la transición del flujo de salida a un estado especificado con el tipo de medio especificado establecido en el flujo de salida. El DTM usará esto cuando el origen del dispositivo solicite que se cambie el estado y el tipo de medio de una secuencia de salida específica. El dispositivo MFT debe cambiar el tipo de medio y el estado del flujo de salida especificado al tipo de medio solicitado.
Si el tipo de medio entrante y el estado de secuencia son iguales que el tipo de medio actual y el estado de secuencia, el método devuelve S_OK.
Si el tipo de medio entrante y el tipo de medio actual de la secuencia son los mismos, Device MFT debe cambiar el estado de la secuencia al valor solicitado y devolver el HRESULT adecuado.
Cuando un cambio en el tipo de medio del flujo de salida requiere un cambio correspondiente en la entrada, Device MFT debe publicar el evento METransformInputStreamStateChanged en DTM para cambiar el flujo de entrada correspondiente. La llamada solo debe devolverse después de cambiar el tipo de medio de la secuencia de entrada y el HRESULT adecuado.
Por ejemplo, considere un dispositivo MFT que tiene dos flujos de entrada y tres flujos de salida. Deje que la salida 1 y el origen 2 de la entrada 1 y el flujo se transmitan a 720p. Ahora, supongamos que el tipo de medio de salida 2 cambia a 1080p. Para satisfacer esta solicitud, Device MFT debe cambiar el tipo de medio Input 1 a 1080p, publicando el evento METransformInputStreamStateChanged en el DTM. DTM llamaría a SetInputStreamState para cambiar el tipo de medio y el estado de la secuencia de entrada. Después de esta llamada, debe devolver setOutputStreamState .
Requisitos
Cliente mínimo compatible | Windows 10, versión 1703 |
Plataforma de destino | Windows |
Encabezado | mftransform.h |