IltmmVideoFormats::get_Count Example for C

HRESULT IltmmVideoFormats_get_Count_Example (IltmmCapture *pCapture) 
{ 
   HRESULT hr; 
   long lIndex, lCount, lSelection, lWidth, lHeight, lCompression, lBitCount;  
   VARIANT_BOOL vSelected;  
   BSTR SubTypeName, SubTypeFriendlyName, Subtype;  
   IltmmVideoFormats* pVidCapFormats = NULL;  
   IltmmVideoFormat*  pVidFormat = NULL;  
 
 
   hr = IltmmCapture_get_VideoCaptureFormats (pCapture, &pVidCapFormats);  
   if (FAILED(hr))  
      return hr;  
 
   hr = IltmmVideoFormats_get_Count (pVidCapFormats, &lCount);  
   if (FAILED(hr))  
   { 
      IltmmVideoFormats_Release(pVidCapFormats);  
      pVidCapFormats = NULL;  
      return hr;  
   } 
 
   hr = IltmmVideoFormats_get_Selection (pVidCapFormats, &lSelection);  
   if (FAILED(hr))  
   { 
      IltmmVideoFormats_Release(pVidCapFormats);  
      pVidCapFormats = NULL;  
      return hr;  
   } 
   if (lSelection != 0)  
   { 
      hr = IltmmVideoFormats_put_Selection (pVidCapFormats, 0);  
      if (FAILED(hr))  
      { 
         IltmmVideoFormats_Release(pVidCapFormats);  
         pVidCapFormats = NULL;  
         return hr;  
      } 
   } 
 
   hr = IltmmVideoFormats_Item (pVidCapFormats, 0, &pVidFormat);  
   if (FAILED(hr))  
   { 
      IltmmVideoFormats_Release(pVidCapFormats);  
      pVidCapFormats = NULL;  
      return hr;  
   } 
   hr = IltmmVideoFormat_get_Selected (pVidFormat, &vSelected);  
   if (FAILED(hr))  
   { 
      IltmmVideoFormat_Release(pVidFormat);  
      pVidFormat = NULL;  
      IltmmVideoFormats_Release(pVidCapFormats);  
      pVidCapFormats = NULL;  
      return hr;  
   } 
   if (vSelected == VARIANT_FALSE)  
   { 
      hr = IltmmVideoFormat_put_Selected (pVidFormat, VARIANT_TRUE);  
      if (FAILED(hr))  
      { 
         IltmmVideoFormat_Release(pVidFormat);  
         pVidFormat = NULL;  
         IltmmVideoFormats_Release(pVidCapFormats);  
         pVidCapFormats = NULL;  
         return hr;  
      } 
   } 
 
   hr = IltmmVideoFormat_get_SubTypeName (pVidFormat, &SubTypeName);  
   SysFreeString(SubTypeName);  
   if (FAILED(hr))  
   { 
      IltmmVideoFormat_Release(pVidFormat);  
      pVidFormat = NULL;  
      IltmmVideoFormats_Release(pVidCapFormats);  
      pVidCapFormats = NULL;  
      return hr;  
   } 
 
   hr = IltmmVideoFormat_get_SubTypeFriendlyName (pVidFormat, &SubTypeFriendlyName);  
   SysFreeString(SubTypeFriendlyName);  
 
   if (FAILED(hr))  
   { 
      IltmmVideoFormat_Release(pVidFormat);  
      pVidFormat = NULL;  
      IltmmVideoFormats_Release(pVidCapFormats);  
      pVidCapFormats = NULL;  
      return hr;  
   } 
 
   hr = IltmmVideoFormat_get_Width (pVidFormat, &lWidth);  
   if (FAILED(hr))  
   { 
      IltmmVideoFormat_Release(pVidFormat);  
      pVidFormat = NULL;  
      IltmmVideoFormats_Release(pVidCapFormats);  
      pVidCapFormats = NULL;  
      return hr;  
   } 
   hr = IltmmVideoFormat_get_Height (pVidFormat, &lHeight);  
   if (FAILED(hr))  
   { 
      IltmmVideoFormat_Release(pVidFormat);  
      pVidFormat = NULL;  
      IltmmVideoFormats_Release(pVidCapFormats);  
      pVidCapFormats = NULL;  
      return hr;  
   } 
 
   hr = IltmmVideoFormat_get_Compression (pVidFormat, &lCompression);  
   if (FAILED(hr))  
   { 
      IltmmVideoFormat_Release(pVidFormat);  
      pVidFormat = NULL;  
      IltmmVideoFormats_Release(pVidCapFormats);  
      pVidCapFormats = NULL;  
      return hr;  
   } 
 
   hr = IltmmVideoFormat_get_BitCount (pVidFormat, &lBitCount);  
   if (FAILED(hr))  
   { 
      IltmmVideoFormat_Release(pVidFormat);  
      pVidFormat = NULL;  
      IltmmVideoFormats_Release(pVidCapFormats);  
      pVidCapFormats = NULL;  
      return hr;  
   }    
 
   Subtype = SysAllocString(ltmmMEDIASUBTYPE_RGB24);  
   hr = IltmmVideoFormats_Find (pVidCapFormats, Subtype, 1024, 768, &lIndex);  
   SysFreeString(Subtype);  
 
   if (FAILED(hr))  
   { 
      IltmmVideoFormat_Release(pVidFormat);  
      pVidFormat = NULL;  
      IltmmVideoFormats_Release(pVidCapFormats);  
      pVidCapFormats = NULL;  
      return hr;  
   }    
 
   IltmmVideoFormat_Release(pVidFormat);  
   pVidFormat = NULL;  
 
   IltmmVideoFormats_Release(pVidCapFormats);  
   pVidCapFormats = NULL; 
 
   return S_OK; 
} 
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