after debugging at whole weekends, I still can't solve the problem that after pMC->Run(), the HRESULT hr gets an failure value.
But I've looked deeper into the problem.
Also, I have four usb-webcams, and with my program I want to run(preview video) 3 simultaneously. All of them four are connected to my PC. I'd like to name them A,B,C and D.
The situation is:
A, B, C can be simultanously without error previewed. Whatever the capturing turn is.
D, A, B/ D, A, C/ D, B, A... works also. But in this case, D must be captured at first. When D is placed as the second being captured one, the pMC can't run and says "the graph can't run", the debug hangs for a long while at the pMC->Run() line and the next device will not be captured. This happens also when D is as third captured.
I think there are two possible reasons:
1) Codes error;
2) Hardware problem.
I think this could be about this line:
hr = pCGB2->RenderStream(&PIN_CATEGORY_PREVIEW, &MEDIATYPE_Video, pSrcFilter, NULL, NULL);
It's the CaptureGraphBuilder2, rendering stream. I used preview a video.
In this case, when I run the MediaControl, after pMC->Run(), even though it runs well, the HRESULT hr has a value "1"(S_FALSE) back. When it hangs, then the hr gets the value what my last question describes.
I looked for system requirements of my webcams. It's like this:
A, B, C have the same type:
2.4 GHz Intel® Core™2 Duo
2 GB RAM
200 MB hard drive space
USB 2.0 port
1 Mbps upload speed or higher
1280 x 720 screen resolution
Intel Dual Core 1.6 GHz (Intel Dual Core 3.0 GHz recommended)
1 GB of RAM (2 GB of RAM recommended)
Video Card with 1280 X 720 pixels or higher
1.5 GB of hard drive space
Windows-compatible speakers or headphones
I guess it could be a hardware interrupt or about usb interface. But I honestly don't know about PC hardware that well.
My computer is Windows XP Professional, version 2002, Service Pack 3 and:
i5-2500 CPU @3.30GHz
3.31 GHz, 3.41 GB RAM
Thank you for reading!
Could you please help?
Refers to:Capture Video Stream gets an error: hr = -2147024865 ( 0x8007001f )