Re[14]: Sample Grabber + YUV формат????
От: CyberDemon Россия  
Дата: 28.08.03 18:41
Оценка:
Здравствуйте, B_A_D, Вы писали:

B_A>Здравствуйте, CyberDemon, Вы писали:




B_A>Если теперь провести небольшой тест


B_A>
B_A>  IPin *pGrabOut = GetOutPin(pGrabBase, 0);
B_A>  IPin *pGrabIn  = GetInPin(pGrabBase, 0);

B_A>  IPin *pPinIn,*pPinOut;
B_A>  pGrabOut->ConnectedTo(&pPinOut); //<--- вот здесь проверь, 
B_A>  pGrabIn->ConnectedTo(&pPinIn);   //<--- к чему он подключен и все станет ясно 
B_A>



B_A>то выяснится, к чему этот граббер подключается при рендеринге.

B_A>А чтоб в воздухе висел ......

Ок, соглашусь (но потестирую все равно ). Просто явного соединения нет, вот я так посчитал. Не думал, что DirectShow настолько "рюхливая" весчь :D
Re[15]: Sample Grabber + YUV формат????
От: Блудов Павел Россия  
Дата: 29.08.03 02:09
Оценка:
Здравствуйте, CyberDemon и B_A_D!

Просто напомню, что к любому графу можно подключиться
из GraphEdt.exe и увидеть все воочию. Для этого нужно
добавть в свой код вызов вот такой функции:

static HRESULT AddGraphToRot(IN IUnknown *pUnkGraph, OUT DWORD *pdwRegister) 
{
    ATLASSERT(pdwRegister);

    ATL::CComPtr<IMoniker>        pMoniker;
    ATL::CComPtr<IRunningObjectTable>    pROT;
    HRESULT                hr;
    
    hr = ::GetRunningObjectTable(0, &pROT);
    if (SUCCEEDED(hr))
    {
        WCHAR wsz[128];
        wsprintfW(wsz, L"FilterGraph  %08x pid %08x", (DWORD_PTR)pUnkGraph, ::GetCurrentProcessId());
        hr = ::CreateItemMoniker(L"!", wsz, &pMoniker);
    }

    if (SUCCEEDED(hr))
        hr = pROT->Register(0, pUnkGraph, pMoniker, pdwRegister);

    if (FAILED(hr))
        *pdwRegister = 0;

    return hr;
}
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.