Adding a Custom Target Format for C++

long AddCustomFormat(IltmmConvert *pConvert) 
{ 
   IltmmTargetFormats* pFormats; 
   IltmmTargetFormat* pFormat; 
   BSTR bstr; 
   long count, lStreams; 
 
   pConvert->get_TargetFormats(&pFormats); 
 
   // add a new format at the end of the formats list 
   bstr = SysAllocString(L"My Own Format"); 
   pFormats->Add(bstr, -1); 
 
   // get the new format 
   pFormats->get_Count(&count); 
   pFormats->Item(count-1, &pFormat); 
 
   /* set the format's sink filter: this example uses "LEAD Network Sink" */ 
   bstr = SysAllocString(L"@device:sw:{083863F1-70DE-11D0-BD40-00A0C911CE86}\\{E2B7DE05-38C5-11D5-91F6-00104BDB8FF9}"); 
   pFormat->put_Sink(bstr); 
   SysFreeString(bstr); 
 
   /* set the format's mux filter: : this example uses "LEAD Network Multiplexer" */ 
   bstr = SysAllocString(L"@device:sw:{083863F1-70DE-11D0-BD40-00A0C911CE86}\\{E2B7DE01-38C5-11D5-91F6-00104BDB8FF9}"); 
   pFormat->put_Mux(bstr); 
   SysFreeString(bstr); 
 
   // specify what streams your new format can have 
   pFormat->put_Streams(ltmmTargetFormat_Stream_Audio|ltmmTargetFormat_Stream_Video); 
 
   // get the streams 
   pFormat->get_Streams(&lStreams); 
 
   // verify them as needed ... 
 
   // thats it 
   pFormat->Release(); 
   pFormats->Release(); 
 
   // call put_TargetFormat(count-1) to use your new format. 
 
   // return the format index 
   return (count-1);  
}  
Help Version 20.0.2020.4.2
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2020 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Multimedia C API Help