Compartir a través de


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
S_OK
La transición del estado de la secuencia se realizó correctamente.
MF_E_INVALIDREQUEST
El dispositivo MFT no pudo admitir la solicitud en este momento.
MF_E_INVAILIDSTREAMNUMBER
Se pasó un identificador de secuencia no válido.
MF_E_INVALID_STREAM_STATE
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

Consulte también

IMFDeviceTransform