IltmmConvert::get_SourceStream Example for C++

// This method will fill the source stream with data from a buffer 
void FillSourceFromMemory(UCHAR *pData, long lSize, IltmmConvert *pConvert) 
{ 
   IltmmMemory *pMemSource = NULL; 
    
   // try to get the convert source stream object 
   HRESULT hr = pConvert->get_SourceStream((IUnknown**)&pMemSource); 
   if(FAILED(hr) || pMemSource == NULL) 
      return; 
 
   // set our desired buffer size 
   pMemSource->put_BufferSize(lSize); 
   SAFEARRAY sa; 
   VARIANT var; 
 
   // setup the safe array 
   memset(&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 variant 
   VariantInit(&var); 
   V_VT(&var) = (VT_ARRAY | VT_UI1); 
   V_ARRAY(&var) = &sa; 
 
   // set the source data to the variant safe array data 
   pMemSource->SetData(0, lSize, var); 
 
   // release the source object 
   pMemSource->Release(); 
} 
Help Version 23.0.2024.2.29
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2024 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Multimedia C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.