Metodo IMFDeviceTransform::P rocessOutput (mftransform.h)

Il metodo ProcessOutput ottiene l'output elaborato dai flussi di output MFT del dispositivo.

Sintassi

HRESULT ProcessOutput(
  [in] DWORD                  dwFlags,
  [in] DWORD                  cOutputBufferCount,
  [in] MFT_OUTPUT_DATA_BUFFER *pOutputSample,
  [in] DWORD                  *pdwStatus
);

Parametri

[in] dwFlags

OR bit per bit di zero o più flag dall'enumerazione _MFT_PROCESS_OUTPUT_FLAGS .

[in] cOutputBufferCount

Numero di elementi nella matrice pOutputSamples . Il valore deve essere almeno 1.

[in] pOutputSample

Puntatore a una matrice di strutture MFT_OUTPUT_DATA_BUFFER allocata dal chiamante. MFT usa questa matrice per restituire i dati di output al chiamante.

[in] pdwStatus

Riceve un or bit per bit di zero o più flag dall'enumerazione _MFT_PROCESS_OUTPUT_STATUS .

Valore restituito

Il metodo restituisce un HRESULT. I valori possibili includono ma non solo i valori specificati nella tabella seguente.

Codice restituito Descrizione
S_OK
Il metodo è riuscito.
E_INVALIDARG
Argomento non valido passato.
MF_E_INVALIDREQUEST
Il dispositivo MFT non è riuscito a supportare la richiesta in questo momento.
MF_E_INVAILIDSTREAMNUMBER
È stato passato un ID di flusso non valido.
MF_E_INVALID_STREAM_STATE
La transizione del flusso richiesta non è possibile.
MF_E_TRANSFORM_TYPE_NOT_SET
Il tipo di supporto di input non è stato impostato.

Commenti

Nella maggior parte dei casi, se il metodo ha esito positivo, la trasformazione Media Foundation (MFT) archivia l'esempio e contiene un conteggio di riferimento sul puntatore FMSample . Quando il MFT viene eseguito usando l'esempio, deve rilasciarlo per evitare perdite di memoria.

Dopo aver impostato i tipi di supporti validi su tutti i flussi, il MFT deve sempre essere in grado di accettare più input e di poter produrre più output.

Se un MFT rileva un errore non irreversibile nei dati di input, può semplicemente eliminare i dati e tentare di recuperare quando ottiene più dati di input. Se MFT elimina i dati, deve impostare l'attributo MFSampleExtension_Discontinuity nell'esempio di output successivo, per notificare al chiamante che esiste un gap nel flusso di dati.

Requisiti

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

Vedi anche

FMDeviceTransform