Can’t add video capture filter to the graph (error=0x80004003) with CL-Eye Platform Driver 4.0.1.0501 on Win7 32bit
Posted: 28 August 2010 04:05 AM   [ Ignore ]
New Member
Rank
Total Posts:  5
Joined  2010-08-28

With the CL-Eye Platform Driver 4.0.1.0501 on this Win7 32bit machine, the PS3 Eye works in for example Skype.

However, when I try to use processing + GSVideo (a gstreamer wrapper for processing that works on Windows as well), I get the following error message:


0:00:02.858164000 7620   18781938 ERROR       dshowvideosrc gstdshowvideosrc.cpp:640:gst_dshowvideosrc_start: Can’t add video capture filter to the graph (error=0x80004003)

Any thoughts on why GSvideo would not be able to add a certain capture filter to the DS graph? I couldn’t find any more information about the 0x80004003 error code.

Any help would be appreciated!

Profile
 
 
Posted: 03 September 2010 12:23 PM   [ Ignore ]   [ # 1 ]
Administrator
Avatar
RankRankRankRank
Total Posts:  585
Joined  2009-09-17

The error code 0x80004003 is the E_POINTER or Invalid pointer error.
In some cases this could mean that you might have a missing codec on your system that directshow graph is trying to load.
Do you have another camera (other than PS3Eye) that you can test your code with? This way you might be able to eliminate other errors not related to PS3Eye first.

Profile
 
 
Posted: 27 October 2010 01:19 PM   [ Ignore ]   [ # 2 ]
New Member
Rank
Total Posts:  1
Joined  2010-10-25

I’m having the exact same error message.  any idea what missing codec it might be? (I don’t have any other camera)

Profile
 
 
Posted: 06 March 2011 09:02 AM   [ Ignore ]   [ # 3 ]
New Member
Rank
Total Posts:  5
Joined  2010-08-28

I’m still having this error, now on a different Windows 7 x64 laptop and now with driver version 4.0.2.1017.

- The built-in webcam works perfectly with the exact same setup.
- The PS3 Eye works in CL-EyeTest.
- As soon as I run the processing + gsvideo GettingStartedCaptureWin sample, I get:

0:00:00.694040000 7632   005FF1B8 ERROR       dshowvideosrc gstdshowvideosrc.cpp:637:gst_dshowvideosrc_start: Can’t add video capture filter to the graph (error=0x80004003)

For your convenience, here is the actual gstreamer (!!) source code where the error happens: http://code.google.com/p/ossbuild/source/browse/trunk/Main/GStreamer/Source/gst-plugins-bad/sys/dshowsrcwrapper/gstdshowvideosrc.cpp?r=773#634

Any hints as to how to resolve this would be greatly appreciated!

Profile
 
 
Posted: 06 March 2011 09:13 AM   [ Ignore ]   [ # 4 ]
New Member
Rank
Total Posts:  5
Joined  2010-08-28

Dear AlexP,

Would it be possible to try with an older version of your driver, say 3.0.0.0825 ? I’ve read in more than one place that this used to work with gsvideo and processing. I have not been able to find binaries of this older version anywhere.

Thanks very much for your help,
Charl

Profile
 
 
Posted: 06 March 2011 11:58 AM   [ Ignore ]   [ # 5 ]
New Member
Rank
Total Posts:  5
Joined  2010-08-28

Okay, I found 3.0.0.0901 and 3.0.0.0825—neither of them give error output, but neither of them manage to capture a single frame.

I’m back to 4.0.2.1017 and now looking into the gsvideo code. In what image format does the CL-Eye driver return its video data? Does this look okay (x-raw-rgb, 640x480, 30fps, bpp=32, depth=24)?:


  Element conv = ElementFactory.make(“ffmpegcolorspace”, “ColorConverter”);

  Element videofilter = ElementFactory.make(“capsfilter”, “ColorFilter”);
  videofilter.setCaps(new Caps(“video/x-raw-rgb, width=” + requestWidth
      + “, height=” + requestHeight + “, bpp=32, depth=24”));

  RGBDataSink videoSink = new RGBDataSink(“rgb”, new RGBDataSink.Listener() {
    public void rgbFrame(boolean pre, int w, int h, IntBuffer buffer) {
      invokeEvent(w, h, buffer);
    }
  });
  // Setting direct buffer passing in the video sink, so no new buffers are created
  // and disposed by the GC on each frame (thanks to Octavi Estapé for pointing
  // out this one).
  videoSink.setPassDirectBuffer(GSVideo.passDirectBuffer);
. .
.     gpipe.addMany(videoSource, conv, videofilter, videoSink);
    Element.linkMany(videoSource, conv, videofilter, videoSink);

Profile
 
 
Posted: 06 March 2011 02:38 PM   [ Ignore ]   [ # 6 ]
New Member
Rank
Total Posts:  5
Joined  2010-08-28

I’ve given up on getting the CL-Eye drivers working with GSVideo for now, as I’m pressed for time. Some hints on why this is not working would be nice for the future though! This should work, GSVideo is just using DirectShow and the gstreamer dshowvideosrc specifically.

For now I’m using the CL-Eye Platform SDK Java / Processing support. I did have to revert the CLEyeMulticam.dll from SDK 1.2.0.1008 to SDK 1.0.1.0109 to get it working, as explained in this thread: http://codelaboratories.com/forums/viewthread/68/P30/

This is not an ideal solution, as I have to use the CL-Eye SDK for PS3 Eye support, and GSVideo for everything else.

Profile
 
 
Posted: 29 May 2011 06:29 AM   [ Ignore ]   [ # 7 ]
New Member
Avatar
Rank
Total Posts:  1
Joined  2011-05-28

I’m a new member, so I’m just looking around.

Profile
 
 
 
 


RSS 2.0     Atom Feed