Products | Support | Send comments on this topic. | Email a link to this topic. | Back to Getting Started | Help Version 18.0.10.24
LEADTOOLS Multimedia API Help

IltmmAnalogVideoDecoder::get_AvailableTVFormats Example for C++

Show in webframe

HRESULT CheckTVFormats(IltmmCapture *pCapture)
{
   HRESULT hr;
   long lSupportFormats, lTVFormat, lLines;
   VARIANT_BOOL vLocked, vVCRLocked, vEnable;
   IltmmAnalogVideoDecoder* pAnVidDec = NULL;

   hr = pCapture->get_AnalogVideoDecoder(&pAnVidDec);
   if (FAILED(hr))
      return hr;

   hr = pAnVidDec->get_AvailableTVFormats(&lSupportFormats);
   if (FAILED(hr))
   {
      pAnVidDec->Release();
      pAnVidDec = NULL;
      return hr;
   }
   hr = pAnVidDec->get_TVFormat(&lTVFormat);
   if (FAILED(hr))
   {
      pAnVidDec->Release();
      pAnVidDec = NULL;
      return hr;
   }
   if ((lTVFormat != AnalogVideo_NTSC_M ) && (lSupportFormats & AnalogVideo_NTSC_M))
   {
      hr = pAnVidDec->put_TVFormat(AnalogVideo_NTSC_M);
      if (FAILED(hr))
      {
         pAnVidDec->Release();
         pAnVidDec = NULL;
         return hr;
      }
   }
   hr = pAnVidDec->get_HorizontalLocked(&vLocked);
   if (FAILED(hr))
   {
      pAnVidDec->Release();
      pAnVidDec = NULL;
      return hr;
   }
   hr = pAnVidDec->get_VCRHorizontalLocking(&vVCRLocked);
   if (FAILED(hr))
   {
      pAnVidDec->Release();
      pAnVidDec = NULL;
      return hr;
   }
   if (vVCRLocked == VARIANT_FALSE)
   {
      hr = pAnVidDec->put_VCRHorizontalLocking(VARIANT_TRUE);
      if (FAILED(hr))
      {
         pAnVidDec->Release();
         pAnVidDec = NULL;
         return hr;
      }
   }
   hr = pAnVidDec->get_NumberOfLines(&lLines);
   if (FAILED(hr))
   {
      pAnVidDec->Release();
      pAnVidDec = NULL;
      return hr;
   }
   hr = pAnVidDec->get_OutputEnable(&vEnable);
   if (FAILED(hr))
   {
      pAnVidDec->Release();
      pAnVidDec = NULL;
      return hr;
   }
   if (vEnable == VARIANT_FALSE)
   {
      hr = pAnVidDec->put_OutputEnable(VARIANT_TRUE);
      if (FAILED(hr))
      {
         pAnVidDec->Release();
         pAnVidDec = NULL;
         return hr;
      }
   }
   pAnVidDec->Release();
   pAnVidDec = NULL; 

   return S_OK;
}
Products | Support | Contact Us | Copyright Notices
© 2006-2014 All Rights Reserved. LEAD Technologies, Inc.