IltmmAnalogVideoDecoder::get_AvailableTVFormats Example for C
Show in webframe
HRESULT IltmmAnalogVideoDecoder_get_AvailableTVFormats_Example (IltmmCapture* pCapture)
{
HRESULT hr;
long lSupportFormats, lTVFormat, lLines;
VARIANT_BOOL vLocked, vVCRLocked, vEnable;
IltmmAnalogVideoDecoder* pAnVidDec = NULL;
hr = IltmmCapture_get_AnalogVideoDecoder(pCapture, &pAnVidDec);
if (FAILED(hr))
return hr;
hr = IltmmAnalogVideoDecoder_get_AvailableTVFormats(pAnVidDec, &lSupportFormats);
if (FAILED(hr))
{
IltmmAnalogVideoDecoder_Release(pAnVidDec);
pAnVidDec = NULL;
return hr;
}
hr = IltmmAnalogVideoDecoder_get_TVFormat(pAnVidDec, &lTVFormat);
if (FAILED(hr))
{
IltmmAnalogVideoDecoder_Release(pAnVidDec);
pAnVidDec = NULL;
return hr;
}
if ((lTVFormat != AnalogVideo_NTSC_M ) && (lSupportFormats & AnalogVideo_NTSC_M))
{
hr = IltmmAnalogVideoDecoder_put_TVFormat(pAnVidDec, AnalogVideo_NTSC_M);
if (FAILED(hr))
{
IltmmAnalogVideoDecoder_Release(pAnVidDec);
pAnVidDec = NULL;
return hr;
}
}
hr = IltmmAnalogVideoDecoder_get_HorizontalLocked(pAnVidDec, &vLocked);
if (FAILED(hr))
{
IltmmAnalogVideoDecoder_Release(pAnVidDec);
pAnVidDec = NULL;
return hr;
}
hr = IltmmAnalogVideoDecoder_get_VCRHorizontalLocking(pAnVidDec, &vVCRLocked);
if (FAILED(hr))
{
IltmmAnalogVideoDecoder_Release(pAnVidDec);
pAnVidDec = NULL;
return hr;
}
if (vVCRLocked == VARIANT_FALSE)
{
hr = IltmmAnalogVideoDecoder_put_VCRHorizontalLocking(pAnVidDec, VARIANT_TRUE);
if (FAILED(hr))
{
IltmmAnalogVideoDecoder_Release(pAnVidDec);
pAnVidDec = NULL;
return hr;
}
}
hr = IltmmAnalogVideoDecoder_get_NumberOfLines(pAnVidDec, &lLines);
if (FAILED(hr))
{
IltmmAnalogVideoDecoder_Release(pAnVidDec);
pAnVidDec = NULL;
return hr;
}
hr = IltmmAnalogVideoDecoder_get_OutputEnable (pAnVidDec, &vEnable);
if (FAILED(hr))
{
IltmmAnalogVideoDecoder_Release(pAnVidDec);
pAnVidDec = NULL;
return hr;
}
if (vEnable == VARIANT_FALSE)
{
hr = IltmmAnalogVideoDecoder_put_OutputEnable (pAnVidDec, VARIANT_TRUE);
if (FAILED(hr))
{
IltmmAnalogVideoDecoder_Release(pAnVidDec);
pAnVidDec = NULL;
return hr;
}
}
IltmmAnalogVideoDecoder_Release(pAnVidDec);
pAnVidDec = NULL;
return S_OK;
}