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

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

#include "ltmm.h" 
#include "assert.h" 
 
HINSTANCE g_hInstance;  // application instance handle 
IltmmCapture* g_pCapture;  // capture 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 capture object 
   hr = CoCreateInstance(CLSID_ltmmCapture, NULL, CLSCTX_INPROC_SERVER, IID_IltmmCapture, (void**) &g_pCapture);  
   if(FAILED(hr))  
      goto error;  
    
   // create windows media certificate    
   hr = WMCreateCertificate(&punkCert);  
   if(SUCCEEDED(hr))  
   { 
      // assign the certificate to the capture object 
      g_pCapture->put_WMCertificate(punkCert);  
      punkCert->Release(); 
   }    
    
#ifdef _DEBUG 
   { 
      // verify assignment 
      g_pCapture->get_WMCertificate(&punkCert);  
      assert(punkCert != NULL);  
      if(punkCert)  
         punkCert->Release(); 
   } 
#endif 
 
//   TODO: place additional code here 
 
error:  
   // cleanup 
 
   if(g_pCapture)  
      g_pCapture->Release(); 
 
   CoUninitialize(); 
    
   return 0;  
} 

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.