The ltmmConvert and ltmmPlay objects allow the user to supply media data through memory instead of a file. The source can be defined by a global memory handle or by an array.
C Source
IltmmPlay* pPlay; // play object interface (initialized elsewhere)
HGLOBAL hGlobal; // allocated and filled elsewhere
IltmmPlay_put_SourceHGlobal (pPlay, (long) hGlobal);
C++ Source
IltmmPlay* pPlay; // play object interface (initialized elsewhere)
HGLOBAL hGlobal; // allocated and filled elsewhere
pPlay->put_SourceHGlobal ((long) hGlobal);
C Source
IltmmPlay_ResetSource (pPlay);
C++ Source
pPlay->ResetSource ();
Once the source has been reset, the user may free the memory.
C Source
ULONG cbData; // size of the media data (initialized elsewhere)
BYTE* pData; // pointer to the media data (initialized elsewhere)
SAFEARRAY sa; // array descriptor
VARIANT var;
// setup the SAFEARRAY to reference the data buffer
sa.cbElements = sizeof(unsigned char);
sa.cDims = 1;
sa.cLocks = 0;
sa.fFeatures = (FADF_STATIC | FADF_FIXEDSIZE);
sa.pvData = pData;
sa.rgsabound[0].cElements = cbData;
sa.rgsabound[0].lLbound = 0;
// the array must be passed in a VARIANT
VariantInit(&var);
V_VT(&var) = (VT_ARRAY | VT_UI1);
V_ARRAY(&var) = &sa;
// assign the array
IltmmPlay_put_SourceArray (pPlay, var);
C++ Source
ULONG cbData; // size of the media data (initialized elsewhere)
BYTE* pData; // pointer to the media data (initialized elsewhere)
SAFEARRAY sa; // array descriptor
VARIANT var;
// setup the SAFEARRAY to reference the data buffer
sa.cbElements = sizeof(unsigned char);
sa.cDims = 1;
sa.cLocks = 0;
sa.fFeatures = (FADF_STATIC | FADF_FIXEDSIZE);
sa.pvData = pData;
sa.rgsabound[0].cElements = cbData;
sa.rgsabound[0].lLbound = 0;
// the array must be passed in a VARIANT
VariantInit(&var);
V_VT(&var) = (VT_ARRAY | VT_UI1);
V_ARRAY(&var) = &sa;
// assign the array
pPlay->put_SourceArray (var);
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