The actual DirectX IMediaSample interface can be accessed through the IltmmObjectWrapper interface using the following code:
HRESULT UnwrapMediaSampleExample (IltmmMediaSampleDisp* pDispatch, IMediaSample** ppMediaSample){if(!ppMediaSample)return E_POINTER;if(!pDispatch){// NULL dispatch means NULL MediaSample*ppMediaSample = NULL;}else{HRESULT hr;IUnknown* pObject;// query the IltmmObjectWrapper interfaceIltmmObjectWrapper* pWrapper;hr = IUnknown_QueryInterface(pDispatch, &IID_IltmmObjectWrapper, (void**) &pWrapper);if(FAILED(hr))return hr;// get the wrapped objecthr = IltmmObjectWrapper_GetWrappedObject (pWrapper, &pObject);IUnknown_Release(pWrapper);if(FAILED(hr))return hr;// query the IMediaSample interfacehr = IUnknown_QueryInterface(pObject, &IID_IMediaSample, (void**) ppMediaSample);IUnknown_Release(pObject);if(FAILED(hr))return hr;}return S_OK;}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
