VideoCaptureElement in win xp

May 22, 2009 at 2:19 PM

I am trying to get my webcam video to display in WPF application sample.

I build the aplication in windows vista and in vista works fine!

But when I try tu run in winxp the funtion "CreateVideoMixingRenderer9" throws an exception.

In in line "var vmr9 = new VideoMixingRenderer9() as IBaseFilter;"

Exception message "Creating an instance of the COM component with CLSID {51B4ABF3-748F-4E3B-A276-C828330E926A} from the IClassFactory failed due to the following error: 80040273."

 

XAML Code

 

<DShow:VideoCaptureElement x:Name="videoCapElement"

                                               LoadedBehavior="Play"

                                               UnloadedBehavior="Stop" 

                                               DesiredPixelHeight="480"

                                               DesiredPixelWidth="640"

                                               IsRenderingEnabled="True"

                                               FPS="30" EnableSampleGrabbing="True" />

 

 

C# Code

 

if (WPFMediaKit.DirectShow.Controls.MultimediaUtil.VideoInputDevices.Count() > 0)

{

       videoCapElement.VideoCaptureDevice = WPFMediaKit.DirectShow.Controls.MultimediaUtil.VideoInputDevices[0];

}

 

 

How can I solve this problem?

 


May 22, 2009 at 4:10 PM

Have you tried updating Windows Media Player?

May 25, 2009 at 12:14 PM

thank you for the response.

 

I have updated to version 11.0.5721.5145

But I still have the same problem.

 

the control needs any codecs instaled?

Jul 18, 2011 at 11:38 AM

I have the same issue.
Have anyone figured the cause, or possible solutions for this, that does not include checking up in graphical drivers ? 

Sep 14, 2011 at 12:16 PM
Edited Sep 14, 2011 at 12:17 PM

Having the same issue here.

Unfortunately, according to my findings, the problem sits in DirectShow.Net.

I suspect the SampleGrabber filter is not working properly for some reason. If you follow the code, you'll see that it is correctly set up in the graph, however ISampleGrabberCB methods, in our case SampleCB, is never called...

I'll have a look at DirectShow.Net source code and I'll try to find out why.

If someone wants to assist me in this, please feel free!!!

cheers,

gianluca.

Sep 20, 2011 at 1:28 PM

Please look at my answer to this post: http://wpfmediakit.codeplex.com/discussions/272676

There are few information on a possible solution for this issue.

I don't have enough experience with DirectShow in order to say if it is a good solution or not. 

but I can assure you that it works as a workaround.

Cheers,

Gianluca.