Udostępnij przez


Przykłady wideo

Przykładowy obiekt wideo to wyspecjalizowana implementacja interfejsu IMFSample do użycia z ulepszonym rendererem wideo (EVR). Aby utworzyć wystąpienie tego obiektu, wywołaj funkcję MFCreateVideoSampleFromSurface. Funkcja przyjmuje wskaźnik do powierzchni Direct3D i zwraca wskaźnik do interfejsu IMFSample. Następujące typy obiektów powinny przydzielać próbki przy użyciu tej funkcji:

Przykładowy obiekt wideo implementuje następujące interfejsy:

Jeśli parametr pUnkSurface MFCreateVideoSampleFromSurface jest inny niżnull, wynikowy przykład wideo zawiera pojedynczy bufor multimedialny, który hermetyzuje powierzchnię Direct3D. Ten obiekt buforu ma ograniczoną funkcjonalność:

Jedynym sposobem uzyskania dostępu do powierzchni z buforu jest wywołanie IMFGetService::GetServiceprzy użyciu identyfikatora usługi MR_BUFFER_SERVICE.

Jeśli parametr pUnkSurface jest NULL, próbka wideo jest tworzona z zerowymi buforami multimediów. Aby dodać bufor próbki, wykonaj następujące czynności:

  1. Utwórz powierzchnię Direct3D.

  2. Utwórz bufor powierzchni, wywołując MFCreateDXSurfaceBuffer. Aby uzyskać więcej informacji, zobacz DirectX Surface Buffer.

  3. Dodaj bufor do próbki, wywołując IMFSample::AddBuffer.

Użyj tej metody, aby pamięć powierzchni była dostępna za pośrednictwem interfejsu IMF2DBuffer.

Bufory multimediów

próbki mediów