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 19.0.2017.10.27
Products | Support | Contact Us | Copyright Notices
© 1991-2017 LEAD Technologies, Inc. All Rights Reserved.
LEADTOOLS Multimedia C API Help