Adding Windows Media Support to the ltmmConvert Object for C++

The following code demonstrates how to add Windows Media support to the ltmmConvert Object.

#include "ltmm.h" 
#include "assert.h" 
 
HINSTANCE g_hInstance;  // application instance handle 
IltmmConvert* g_pConvert;  // convert object's interface pointer 
 
extern "C" 
{ 
   // declare the windows media certificate creation function 
   HRESULT STDMETHODCALLTYPE WMCreateCertificate( IUnknown** pUnkCert );  
}; 
 
// link the stub library 
#pragma comment(lib, "wmstub.lib") 
 
 
int APIENTRY WinMain(HINSTANCE hInstance,  
                     HINSTANCE /*hPrevInstance*/,  
                     LPSTR     /*lpCmdLine*/,  
                     int       /*nCmdShow*/)  
{ 
   HRESULT hr;  
   IUnknown* punkCert;  
    
   g_hInstance = hInstance;  
 
   // initialize COM library 
   hr = CoInitialize(NULL);  
   if(FAILED(hr))  
      goto error;  
    
   // create the convert object 
   hr = CoCreateInstance(CLSID_ltmmConvert, NULL, CLSCTX_INPROC_SERVER, IID_IltmmConvert, (void**) &g_pConvert);  
   if(FAILED(hr))  
      goto error;  
    
   // create windows media certificate    
   hr = WMCreateCertificate(&punkCert);  
   if(SUCCEEDED(hr))  
   { 
      // assign the certificate to the convert object 
      g_pConvert->put_WMCertificate(punkCert);  
      punkCert->Release(); 
   }    
    
#ifdef _DEBUG 
   { 
      // verify assignment 
      g_pConvert->get_WMCertificate(&punkCert);  
      assert(punkCert != NULL);  
      if(punkCert)  
         punkCert->Release(); 
   } 
#endif 
 
//   TODO: place additional code here 
 
error:  
   // cleanup 
 
   if(g_pConvert)  
      g_pConvert->Release(); 
 
   CoUninitialize(); 
    
   return 0;  
} 

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