feka Новенький
Зарегистрирован: 16.08.2007 Сообщения: 2
|
Добавлено: Чт Авг 16, 2007 1:59 pm Заголовок сообщения: Переключение медиатипов с VMR9 |
|
|
Строю граф: source(устройство ввода)->CSConverter->VMR9, устанавливаю MEDIATYPE_RGB24. После сборки графа не получается поменять разрешение, хотя с YUY2 все нормально работало.
Код переключения:
| Код: | HRESULT hr;
IAMStreamConfig *ipConfig = NULL;
hr = FindInterface(IID_IAMStreamConfig, (void **)&ipConfig);
if(hr == S_OK)
{
AM_MEDIA_TYPE *pmt;
VIDEO_STREAM_CONFIG_CAPS vCaps;
int n;
int size;
ipConfig->GetNumberOfCapabilities(&n, &size);
for(int i = 0; i < n; i++)
{
ipConfig->GetStreamCaps(i, &pmt, (BYTE*)&vCaps);
if(pmt->formattype == FORMAT_VideoInfo &&
pmt->subtype == MEDIASUBTYPE_RGB24)
{
VIDEOINFOHEADER *pVih = (VIDEOINFOHEADER*)pmt->pbFormat;
pVih->bmiHeader.biWidth = cx;
pVih->bmiHeader.biHeight = cy;
pVih->bmiHeader.biSizeImage = DIBSIZE(pVih->bmiHeader);
hr = ipConfig->SetFormat(pmt);
DeleteMediaType(pmt);
break;
}
DeleteMediaType(pmt);
}
ipConfig->Release();
} |
|
|