ms media foundation - Are custom sources supported with the IMFCaptureEngine? -


i've got custom source seams work simple topology. when queryinterface gets called stack looks this:

mysource.dll!mysource::queryinterface(const _guid & riid, void * * ppv) line 83 c++ mfcore.dll!cmediaeventptr::getunknown(struct imfmediaevent *,struct _guid const &,void * *) unknown mfcore.dll!cmpsourcemanager::onnewstream()  unknown mfcore.dll!cmpsourcemanager::onsourceevent()    unknown mfcore.dll!cmpsourcemanager::onsourceeventasynccallback::invoke(struct imfasyncresult *)    unknown 

using same custom source without topology, letting imfcaptureengine deal that. when queryinterface gets called stack looks this:

mysource.dll!mysource::queryinterface(const _guid & riid, void * * ppv) line 42 c++ mfcore.dll!cmediaeventptr::getunknown(struct imfmediaevent *,struct _guid const &,void * *) unknown mfcore.dll!cseqsourcewrap::handleupdatedstream(struct imfmediaevent *)  unknown mfcore.dll!cseqsourcewrap::onsourceevent()  unknown mfcore.dll!cseqsourcewrap::onsourceeventasynccallback::invoke(struct imfasyncresult *)  unknown 

in topo case, call getstreamdescriptor , requestsample , works.

mysourcecpp_com.dll!mystream::getstreamdescriptor(imfstreamdescriptor * * ppstreamdescriptor) line 187  c++ mfcore.dll!cmpsourcemanager::onnewstream()  unknown mfcore.dll!cmpsourcemanager::onsourceevent()    unknown mfcore.dll!cmpsourcemanager::onsourceeventasynccallback::invoke(struct imfasyncresult *)    unknown  mysourcecpp_com.dll!mystream::requestsample(iunknown * ptoken) line 208 c++ mfcore.dll!cmpsourcenodeinfo::requestsample()   unknown mfcore.dll!cmpsourcenodeinfo::generatedata()    unknown mfcore.dll!cmpsourcenodeinfo::processsample()   unknown mfcore.dll!cmpwalker::processcommands() unknown mfcore.dll!cmfmediaprocessor::processsample()   unknown mfcore.dll!cmfmediaprocessorstream::_requestsample()    unknown mfcore.dll!cmfmediaprocessorstream::requestsample(struct iunknown *)    unknown mfcore.dll!cbitpump::handlesinkrequestsample()  unknown mfcore.dll!cbitpump::onsinkevent()  unknown mfcore.dll!cbitpump::onsinkeventasynccallback::invoke(struct imfasyncresult *)  unknown 

in imfcaptureengine case never either call data never flows. see difference cmpsourcemanager vs. cseqsourcewrap.


Comments

Popular posts from this blog

java - nested exception is org.hibernate.exception.SQLGrammarException: could not extract ResultSet Hibernate+SpringMVC -

sql - Postgresql tables exists, but getting "relation does not exist" when querying -

asp.net mvc - breakpoint on javascript in CSHTML? -