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

La méthode SetOutputStreamState définit l’état du flux de sortie MFT de l’appareil et le type de média.

Syntaxe

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

Paramètres

[in] dwStreamID

ID de flux du flux d’entrée dans lequel l’état et le type de média doivent être modifiés.

[in] pMediaType

Le type de média préféré pour le flux d’entrée est transmis via ce paramètre. L’appareil MFT doit changer le type de média uniquement si le type de média entrant est différent du type de média actuel.

[in] value

Spécifie le DeviceStreamState vers lequel le flux d’entrée doit effectuer la transition.

[in] dwFlags

Doit être zéro.

Valeur retournée

Cette méthode retourne un code HRESULT. Les valeurs possibles incluent, sans s’y limiter, les valeurs indiquées dans le tableau suivant.

Code de retour Description
S_OK
La transition de l’état du flux a réussi.
MF_E_INVALIDREQUEST
L’appareil MFT n’a pas pu prendre en charge la demande pour le moment.
MF_E_INVAILIDSTREAMNUMBER
Un ID de flux non valide a été transmis.
MF_E_INVALID_STREAM_STATE
La transition de flux demandée n’est pas possible.

Notes

Cette méthode d’interface permet de faire passer le flux de sortie à un état spécifié avec le type de média spécifié défini sur le flux de sortie. Cela sera utilisé par la DTM lorsque la source d’appareil demande la modification de l’état et du type de média d’un flux de sortie spécifique. MFT de l’appareil doit modifier le type et l’état de média du flux de sortie spécifiés par le type de média demandé.

Si le type de média entrant et l’état du flux sont identiques au type de média actuel et à l’état du flux, la méthode retourne S_OK.

Si le type de média entrant et le type de média actuel du flux sont identiques, le MFT de l’appareil doit modifier l’état du flux par la valeur demandée et retourner le HRESULT approprié.

Lorsqu’une modification du type de média du flux de sortie nécessite une modification correspondante dans l’entrée, l’appareil MFT doit publier l’événement METransformInputStreamStateChanged sur DTM pour modifier le flux d’entrée approprié. L’appel doit être retourné uniquement après avoir modifié le type de média du flux d’entrée et le HRESULT approprié.

Par exemple, considérez un MFT d’appareil qui a deux flux d’entrée et trois flux de sortie. Laissez la source sortie 1 et sortie 2 à partir de l’entrée 1 et diffusez à 720p. Supposons maintenant que le type de média de Sortie 2 passe à 1080p. Pour répondre à cette demande, device MFT doit modifier le type de média Input 1 sur 1080p, en postant l’événement METransformInputStreamStateChanged dans la DTM. DTM appelle SetInputStreamState pour modifier le type et l’état du média du flux d’entrée. Après cet appel, l’objet SetOutputStreamState doit retourner.

Spécifications

   
Client minimal pris en charge Windows 10 version 1703
Plateforme cible Windows
En-tête mftransform.h

Voir aussi

IMFDeviceTransform