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 |
---|---|
|
La transition de l’état du flux a réussi. |
|
L’appareil MFT n’a pas pu prendre en charge la demande pour le moment. |
|
Un ID de flux non valide a été transmis. |
|
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 |