Metodo IMFDeviceTransform::SetOutputStreamState (mftransform.h)

Il metodo SetOutputStreamState imposta lo stato del flusso di output MFT del dispositivo e il tipo di supporto.

Sintassi

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

Parametri

[in] dwStreamID

ID flusso del flusso di input in cui è necessario modificare lo stato e il tipo di supporto.

[in] pMediaType

Il tipo di supporto preferito per il flusso di input viene passato tramite questo parametro. Il dispositivo MFT deve modificare il tipo di supporto solo se il tipo di supporto in ingresso è diverso dal tipo di supporto corrente.

[in] value

Specifica DeviceStreamState a cui deve passare il flusso di input.

[in] dwFlags

Deve essere zero.

Valore restituito

Il metodo restituisce un valore HRESULT. I valori possibili includono, a titolo esemplificativo, i valori specificati nella tabella seguente.

Codice restituito Descrizione
S_OK
Transizione dello stato del flusso completata.
MF_E_INVALIDREQUEST
Il dispositivo MFT non è riuscito a supportare la richiesta in questo momento.
MF_E_INVAILIDSTREAMNUMBER
È stato passato un ID flusso non valido.
MF_E_INVALID_STREAM_STATE
La transizione del flusso richiesta non è possibile.

Commenti

Questo metodo di interfaccia consente di eseguire la transizione del flusso di output a uno stato specificato con il tipo di supporto specificato impostato nel flusso di output. Questo verrà usato dal DTM quando l'origine del dispositivo richiede la modifica dello stato e del tipo di supporto di un flusso di output specifico. Il dispositivo MFT deve modificare il tipo di supporto e lo stato del flusso di output specificati nel tipo di supporto richiesto.

Se il tipo di supporto in ingresso e lo stato del flusso sono uguali al tipo di supporto corrente e allo stato del flusso, il metodo restituisce S_OK.

Se il tipo di supporto in ingresso e il tipo di supporto corrente del flusso sono uguali, Device MFT deve modificare lo stato del flusso sul valore richiesto e restituire il valore HRESULT appropriato.

Quando una modifica nel tipo di supporto del flusso di output richiede una modifica corrispondente nell'input, Device MFT deve pubblicare l'evento METransformInputStreamStateChanged in DTM per modificare il flusso di input pertinente. La chiamata deve restituire solo dopo aver modificato il tipo di supporto del flusso di input e il valore HRESULT appropriato.

Si consideri ad esempio un oggetto Device MFT con due flussi di input e tre flussi di output. Consentire l'output 1 e l'output 2 di origine dall'input 1 e dal flusso a 720p. Si supponga ora che il tipo di supporto di Output 2 cambi a 1080p. Per soddisfare questa richiesta, Device MFT deve modificare il tipo di supporto Input 1 impostandolo su 1080p, pubblicando l'evento METransformInputStreamStateChanged nel DTM. DTM chiamerebbe SetInputStreamState per modificare il tipo di supporto e lo stato del flusso di input. Dopo questa chiamata, è necessario restituire l'oggetto SetOutputStreamState .

Requisiti

   
Client minimo supportato Windows 10 versione 1703
Piattaforma di destinazione Windows
Intestazione mftransform.h

Vedi anche

IMFDeviceTransform