Adding Windows Media Support to the ltmmPlay Object for C

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

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

Help Version 20.0.2019.3.12
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2019 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Multimedia C API Help