Funzione MFCreateMediaBufferFromMediaType (mfapi.h)
Alloca un buffer di memoria di sistema ottimale per un tipo di supporto specificato.
Sintassi
HRESULT MFCreateMediaBufferFromMediaType(
[in] IMFMediaType *pMediaType,
[in] LONGLONG llDuration,
[in] DWORD dwMinLength,
[in] DWORD dwMinAlignment,
[out] IMFMediaBuffer **ppBuffer
);
Parametri
[in] pMediaType
Puntatore all'interfaccia FMMediaType del tipo di supporto.
[in] llDuration
Durata dell'esempio. Questo valore è obbligatorio per i formati audio.
[in] dwMinLength
Dimensioni minime del buffer, in byte. Le dimensioni effettive del buffer potrebbero essere maggiori. Specificare zero per allocare le dimensioni predefinite del buffer per il tipo di supporto.
[in] dwMinAlignment
Allineamento minimo della memoria per il buffer. Specificare zero per usare l'allineamento predefinito della memoria.
[out] ppBuffer
Riceve un puntatore all'interfaccia FMMediaBuffer . 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
Per i formati video, se il formato viene riconosciuto, la funzione crea un buffer 2D che implementa l'interfaccia FMI2DBuffer2 . In caso contrario, crea un buffer lineare. Per ottenere l'interfaccia FMI2DBuffer2 , chiamare QueryInterface sul puntatore restituito in ppBuffer. Se il metodo QueryInterface ha esito negativo, usare l'interfaccia IMFMediaBuffer per accedere alla memoria del buffer.
Per i formati audio, la funzione alloca un buffer abbastanza grande per contenere esempi audio llDuration o dwMinLength, che tuttavia è più grande.
Questa funzione alloca sempre la memoria di sistema. Per le superfici Direct3D, usare la funzione MFCreateDXGISurfaceBuffer o MFCreateDXSurfaceBuffer .
Requisiti
Client minimo supportato | Windows 8 [app desktop | App UWP] |
Server minimo supportato | Windows Server 2012 [app desktop | App UWP] |
Piattaforma di destinazione | Windows |
Intestazione | mfapi.h |
Libreria | Mfplat.lib |
DLL | Mfplat.dll |