Note that there are some explanatory texts on larger screens.

plurals
  1. POVideo capture application won't work with DirectShow-compatible device
    primarykey
    data
    text
    <p>I developed a video capture application in C++ with Qt on Windows 7, using the videoInput library (which uses DirectShow). My application works fine with all the devices I previously tried (some inboard capture devices, webcams, a Pinnacle Dazzle DVC 100, a Pinnacle Studio Movie Box, and even a troubled PixelView PlayTV USB Hybrid), but now I bought an AVerMedia DarkCrystal HD Capture Station (in order to support HD capturing) and it simply won't work. </p> <p>According to the AVerMedia website, it is totally DirectShow-compatible and I don't even need to use its SDK. I followed the manufacturer's installation instructions and I'm able to capture video using its own bundled software (TotalMedia Studio MV), so I suppose it's working properly.</p> <p>I tried to run my videoInput-based application and also AmCap (DirectShow sample from Microsoft) and both of them behave the same way. They are able to find the device, retrieve its friendly name, but nothing else. AmCap says <code>Error 80004002: Cannot find VCapture:IAMStreamConfig</code>.</p> <p>I was debugging AmCap and found out the <code>ICaptureGraphBuilder2::FindInterface</code> method always returns <code>E_NOINTERFACE</code>, i.e. no such interface supported, in lines like this:</p> <pre><code>hr = gcap.pBuilder-&gt;FindInterface(&amp;PIN_CATEGORY_CAPTURE, &amp;MEDIATYPE_Video, gcap.pVCap, IID_IAMStreamConfig, (void **)&amp;gcap.pVSC); </code></pre> <p>Here, <code>gcap.pBuilder</code> is a pointer to <code>ICaptureGraphBuilder2</code>, <code>gcap.pVCap</code> is a pointer to <code>IBaseFilter</code>, and <code>gcap.pVSC</code> is a pointer to <code>IAMStreamConfig</code> and should receive the return value.</p> <p>I suppose there's some workaround that could help me to capture from this device, since I could sucessfully retrieve the device name (using the <code>ICreateDevEnum::CreateClassEnumerator</code> method, based on the <code>CLSID_VideoInputDeviceCategory</code> class identifier).</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload