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 Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document