Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > граф в DirectShow


Автор: masson 16.8.2006, 17:22
у меня такая проблема есть фильтр WMFDemuxFilter взят от суда http://www.gdcl.co.uk/downloads.htm#WMFDemux

мне нужно его воткнуть в IGraphBuilder. там уже есть ASF Reader фильтр.
примерный код(он не работает)

Цитата

    SENDIF(CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&graphBuilder_));
    SENDIF(graphBuilder_->QueryInterface(IID_IMediaEventEx, (void **)&mediaEventEx_));
    CComPtr <IBaseFilter> pReader;  // ASF reader filter
    SENDIF(CreateFilter(CLSID_WMAsfReader, &pReader));
    SENDIF(graphBuilder_->AddFilter(pReader, L"ASF Reader"));
    CComPtr <IFileSourceFilter> pFS2;      // Sets the file name on the ASF readewr.
    SENDIF(pReader->QueryInterface(IID_IFileSourceFilter, (void **) &pFS2));
    pFS2->Load(A2CW(fileName), NULL);
    CComPtr <IBaseFilter> pReaderTestFilter; 
    SENDIF(CreateFilter(__uuidof(WMFDemuxFilter), &pReaderTestFilter));
    SENDIF(graphBuilder_->AddFilter(pReaderTestFilter, L"GDCL WMV/WMA Parser"));


зачем мне понадобился "GDCL WMV/WMA Parser" для того чтобы иметь возможность делать fast forward и fast rewind,  asf это делать не умеет.

следовательно два вопроса:

1) кто нить юзал WMFDemuxFilter, если да то раскажите как?

2) как по другому можно сделать fast forward и fast rewind?

graphBuilder_->RenderFile(A2CW(fileName), NULL);  применять нельзя(так поставленна задача)

пожалуста помогите разобраться, киньте примеров.

Автор: masson 21.8.2006, 06:00
up

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)