// This method will fill the source stream with data from a buffervoid FillSourceFromMemory(UCHAR *pData, long lSize, IltmmConvert *pConvert){IltmmMemory *pMemSource = NULL;// try to get the convert source stream objectHRESULT hr = pConvert->get_SourceStream((IUnknown**)&pMemSource);if(FAILED(hr) || pMemSource == NULL)return;// set our desired buffer sizepMemSource->put_BufferSize(lSize);SAFEARRAY sa;VARIANT var;// setup the safe arraymemset(&sa, 0, sizeof(sa));sa.cbElements = sizeof(unsigned char);sa.cDims = 1;sa.fFeatures = (FADF_AUTO | FADF_FIXEDSIZE);sa.pvData = pData;sa.rgsabound[0].cElements = lSize;// associate the safe array with our variantVariantInit(&var);V_VT(&var) = (VT_ARRAY | VT_UI1);V_ARRAY(&var) = &sa;// set the source data to the variant safe array datapMemSource->SetData(0, lSize, var);// release the source objectpMemSource->Release();}
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
