Condividi tramite


Funzione MFCreateSampleCopierMFT (mfidl.h)

Crea un'istanza della trasformazione del copiatore di esempio.

Sintassi

HRESULT MFCreateSampleCopierMFT(
  [out] IMFTransform **ppCopierMFT
);

Parametri

[out] ppCopierMFT

Riceve un puntatore all'interfaccia FMTransform . Il chiamante deve rilasciare l'interfaccia.

Valore restituito

Se questa funzione ha esito positivo, restituisce S_OK. In caso contrario, restituisce un codice di errore HRESULT .

Commenti

Il copiatore di esempio è una trasformazione MFT (Media Foundation) che copia i dati dagli esempi di input agli esempi di output senza modificare i dati. I dati seguenti sono copiati dall'esempio:

  • Tutti gli attributi di esempio.
  • Timestamp e durata.
  • Flag di esempio (vedere FMSample::SetSampleFlags).
  • Dati nei buffer multimediali. Se l'esempio di input contiene più buffer, i dati vengono copiati in un singolo buffer nell'esempio di output.
Questo MFT è utile nella situazione seguente:
  • Un oggetto pipeline, ad esempio un'origine multimediale, alloca esempi multimediali per l'output.
  • Un altro oggetto pipeline, ad esempio un sink multimediale, alloca i propri esempi multimediali per l'input. Ad esempio, l'oggetto potrebbe richiedere buffer allocati da un pool di memoria speciale, ad esempio memoria video.
Il diagramma seguente illustra questa situazione con un'origine multimediale e un sink multimediale. Diagramma: l'origine multimediale punta a un esempio; Sink multimediale punta a un secondo esempio; Copiatore di esempio punta a una freccia dal primo esempio al secondo

Per consentire al sink multimediale di ricevere dati dall'origine multimediale, i dati devono essere copiati negli esempi multimediali di proprietà del sink multimediale. Per questo scopo, è possibile usare il copiatore di esempio.

Un esempio specifico di tale sink multimediale è il Renderer video avanzato (EVR). L'EVR alloca esempi che contengono buffer di superficie Direct3D, pertanto non può ricevere esempi video direttamente da un'origine multimediale. A partire da Windows 7, il caricatore della topologia gestisce automaticamente questo caso inserendo il copiatore di esempio tra l'origine multimediale e L'EVR.

Requisiti

   
Client minimo supportato Windows 7 [solo app desktop]
Server minimo supportato Windows Server 2008 R2 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mfidl.h
Libreria Mf.lib
DLL Mf.dll

Vedi anche

Funzioni di Media Foundation