Use Memory Targets

The ltmmCapture and ltmmConvert objects allow the user to write media data to memory instead of a file.

  1. Define the memory target you should allocate an empty SAFEARRAY and assign it to the ltmmCapture or ltmmConvert object. The assignment is performed as follows:

C Source

IltmmConvert* pConvert;   // ltmmConvert object interface (initialized elsewhere)    
SAFEARRAY* psa;    
// allocate an empty byte array   
psa = SafeArrayCreateVector(VT_UI1, 0, 0);    
// the array must be passed in a VARIANT   
VariantInit(&var);    
V_VT(&var) = (VT_ARRAY | VT_UI1);    
V_ARRAY(&var) = psa;    
// assign the array   
IltmmConvert_put_TargetArray (pConvert, var); 

C++ Source

IltmmConvert* pConvert;   // ltmmConvert object interface (initialized elsewhere)    
SAFEARRAY* psa;    
// allocate an empty byte array   
psa = SafeArrayCreateVector(VT_UI1, 0, 0);    
// the array must be passed in a VARIANT   
VariantInit(&var);    
V_VT(&var) = (VT_ARRAY | VT_UI1);    
V_ARRAY(&var) = psa;    
// assign the array   
pConvert->put_TargetArray (var); 

2.The array will be resized and filled with the objects output data. As long as the array is assigned to object, the array data and descriptor should not be accessed. The user can reset the target by calling the ResetTarget function:

C Source

IltmmConvert_ResetTarget (pConvert); 

C++ Source

pConvert->ResetTarget (); 

  1. Once the target has been reset, the user may access or free the memory.
Help Version 20.0.2019.9.19
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Multimedia C API Help