IltmmWMProfile::get_MutualExclusionCount Example for C

For complete code, refer to the CNVWM demo. The example below checks all the streams for a mutual object. If the quality is less than 50, it is removed.

LPTSTR OLE2A(LPCOLESTR lpw) 
{ 
   static CHAR convert[512]; 
 
   if(!lpw) 
      return NULL; 
 
   convert[0] = '\0'; 
 
   WideCharToMultiByte(CP_ACP, 0, lpw, -1, convert, 512, NULL, NULL); 
 
   return convert; 
} 
 
void IltmmWMProfile_get_MutualExclusionCount_Example (IltmmWMProfile *pProfile) 
{ 
   IltmmWMMutualExclusion *pMutualExc = NULL;  
   IltmmWMStreamConfig *pStreamConfig = NULL;  
   long lMCount;  
   long lSCount;  
   long lStreamNumber;  
   long lQuality;  
   BSTR bstrData;  
   char strUpdate[255]; 
   int i; 
   int j; 
 
   IltmmWMProfile_get_MutualExclusionCount(pProfile, &lMCount);  
 
   // iterate through the objects 
   for(i=0; i<lMCount; i++) 
   { 
      IltmmWMProfile_GetMutualExclusion(pProfile, i, &pMutualExc);  
 
      IltmmWMMutualExclusion_get_StreamCount(pMutualExc, &lSCount);  
 
      if(lSCount == 0)  
      { 
         IltmmWMProfile_RemoveMutualExclusion(pProfile, pMutualExc);  
         IltmmWMMutualExclusion_Release(pMutualExc);  
      } 
      else 
      { 
         for(j=0; j<lSCount; j++) 
         { 
            // obtain the stream number 
            IltmmWMMutualExclusion_GetStream(pMutualExc, j, &lStreamNumber);  
            // get the stream using it's number 
            IltmmWMProfile_GetStreamByNumber (pProfile, lStreamNumber, &pStreamConfig);  
            // check it's quality, if it is less than 50, remove it...  
            IltmmWMStreamConfig_get_Quality(pStreamConfig, &lQuality);  
            if(lQuality < 50)  
            { 
               // remove it...  
               IltmmWMMutualExclusion_RemoveStream(pMutualExc, lStreamNumber);  
            } 
 
            // report the user with update...  
            IltmmWMMutualExclusion_get_Type(pMutualExc, &bstrData);  
            sprintf(strUpdate, "Updating Mutual object with type :\n %s", OLE2A(bstrData));  
            SysFreeString(bstrData);  
 
            MessageBox(NULL, strUpdate, "Update...", MB_OK);  
 
            IltmmWMStreamConfig_Release(pStreamConfig);  
            IltmmWMMutualExclusion_Release(pMutualExc);  
         } 
      } 
   } 
} 

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