i have a basic directshow graph :
Video Capture Source: SMI Grabber Dev (4ch usb dvr) > video Renderer
when i start the Graph, i get this error :
the device is not connected 0x8007048F
either on GraphStudioNext or my c# code. and i found a solution that worked on GraphStudioNext which consist of adding a WDM streaming crossbar devices device (SM DBA crossbar filter) and connect it the Video Capture Source, but i don't know how do the same on my c# code.
i appreciate any help, thanks.
The error is ERROR_DEVICE_NOT_CONNECTED
: the capture filter is unable to run on its own. This can be considered as a bug/inaccuracy of the hardware driver because basically it is expected to run without adding crossbar.
You can add the crossbar filter explicitly, as you already found what is necessary to be connected upstream, or rather you can have it added by ICaptureGraphBuilder2::FindInterface
call:
If a capture device uses a Windows Driver Model (WDM) driver, the graph may require certain filters upstream from the WDM Video Capture filter, such as a TV Tuner filter or an Analog Video Crossbar filter. If the pCategory parameter does not equal NULL, this method automatically inserts any required WDM filters into the graph. To do so, it queries the input pins on the capture filter to determine what mediums they support, and connects them to matching filters.
You can look up DxTuner
sample from DirectShow.NET to see FindInterface
usage example.
User contributions licensed under CC BY-SA 3.0