|
-
-
OK, this usually happens. When I finally understand a problem well enough to describe it to others then I am usually close to a solution. I finally figured out what was happening.
The Flash Player, when it investigates ALL of the DirectShow Source Filters on a user's machine doesn't merely enumerate them. (I wrote a simple enumerator and it had no problem...) The Flash Player enumerates the filters and uses things in my filter that I don't even use!
In particular it is also investigating the filter's output pin and collecting information on all of the video resolutions supported by the filter!
It is using GetMediaType and collecting information on each type of video supported by each source filter on the user's machine.
Since I didn't have any use for GetMediaType in ANY of the applications that my filter is actually used for, it had not been fully checked out. Successive calls to it by the Flash Player led to a problem. I fixed that just to accommodate the flash player after I finally figured out what was going wrong.
Then, in addition, it appears that the Flash Video Player was further exercising other parts of my filter's code. That caused another browser crash until I realize that it was looking for a file that is automatically generated by the filter IF and ONLY IF the user needs it. I had to distribute an empty copy of that file to satisfy the Flash Video Player.
It now appears to be bullet-proof. Browsers no longer crash when the Flash Video Player messes with all my DirectShow Source Filters... (These include cameras, video boards, USB/Video adapters, etc. - Anything that produces video on your machine.)
The reason "normal" flash video did not cause a problem is because it does not do filter enumeration unless you right-click the video and select Settings.
The reason www.Ustream.tv videos were crashing was because they ALWAYS cause the Flash Player to do filter enumeration immediately.
Rhetorical questions (i.e., no response expected...)
1. Since the Adobe Flash Player Settings window allows you to either "Allow" or "Deny" "access to your camera and microphone" and I have mine set to "Deny", why does the Flash Player enumerate the cameras anyway? Normally, with a switch like that, one would not engage in testing all of the cameras (filters) when the user has denied access to those.
2. Why put ALL of the filters through ALL of their paces before the user tells you which one he wants to use (assuming he wants to "Allow" access.) Normally, these filters are used in a filter graph and that is only set up when you are ACTUALLY GOING TO USE the camera/filter.
3. If a DirectShow Filter with a problem exists on a user's machine, whatever the Flash Player Settings procedure is doing is apparently not protected with try/catch routines sufficient to prevent a crash? A crash in the Flash Player Settings procedure also crashes the browser that is using it. Since you don't know what might be on a user's machine, wouldn't it be advisable to protect against this? Any user faced with this sort of problem is going to assume that the problem is the Flash Player! I.e., he starts up a flash video and his browser unaccountably crashes with no message indicating what the cause was... I am betting that my filter is not the only one out there that could cause a "Flash Crash". :-)
So, I am not impressed with the Flash Player's camera handling subsystems. Needs work in my opinion...
This case is closed with respect to MY problem...
Thanks,
Howard
-
Thanks for the extremely detailed and clear explanations!
Did you manage, then, to pull a stream from your IP camera? I'd be interested in knowing what kind of camera it was, what the video format at the source was (and are you transcoding somehow?) and how you did it.
-
Hi,
My filter is specifically designed for acquiring images from IP Cameras, i.e., cameras that are at either local or remote internet addresses. My filter was already working and doing everything that I needed done when I discovered the anomaly triggered by the Flash Player systems. That problem has now been resolved.
I just re-checked the rules governing this forum and I think it is OK to post a web site address? The filter is here: http://www.azcendant.com. The current version there was updated on 13 Oct 09 to resolve the FlashPlayer conflict.
Thanks,
Howard
-
Solution for Flash-related crash on ustream.tv ?
My flash plugin crashes when visiting ustream.tv, as well as
when i enter flash player settings and click on the cam settings symbol.
It seems like a lot of people are having that problem, there even is
a thread on make.tv about it but they do not have a clue.
If I understand your explanations, there is a defective
filter driver causing this when it is accessed by the flash plugin.
For me I think it started when I unistalled my PHILIPS SPC-900NC
webcam. I of course tried uninstalling flash player, to no effect.
But maybe it's something else.
I can not visit certain sites that try to access the cam in flash
with any browser.
Is there a way to find out what filter causes the crash and remove
it?
Thank You.
-
Hi Stardate,
You can narrow it down fairly easily by installing Microsoft's GraphEdit program. http://www.greenspun.com/bboard/q-an...?msg_id=001Jfk apparently tells where to get a copy of GraphEdit. (Or send me a message and I will try to hunt it down more accurately... There is also a commercial product called Graphedit Plus that I bought a copy of that is even better but I may have a lot more use for it than the average person? GraphEdt.exe will be sufficient for your needs in the context of this thread.)
Then run GraphEdit.
Choose menu item Graph/Insert Filters...
Click the plus sign in front of "Video Capture Sources"
IF the problem you are having is similar to the one I described, one of the filters in that list will be the culprit.
For each filter in the list, click on the plus sign in front of its name then write down the location of the file displayed at "Filename". For example, one of mine is called "ksproxy.ax". If you don't see a full path, I am guessing it is in system32? Otherwise, it is where the full path says it is.
Now that you have located all the files and have a full path name for each, start a cmd session (DOS command window) and run it. With administrative privileges if you are on Vista!
Then you need to unregister the filter you want to test. To do this, run regsvr32 /u [filepath]. For example, on my system I would do
regsvr32 /u c:\windows\system32\ksproxy.ax
Then run your browser and see if it still crashes.
If it still crashes, that was not the one. Reregister it so that whatever application it belongs to will still work on your machine! I.e.:
regsvr32 c:\windows\system32\ksproxy.ax
Then try another one from the list to see if it is the source of the problem, then another, then another, etc.
If you find one that is the source of the problem, figure out whose software it belongs to and write to them describing what is happening. They will probably be as shocked as I was to find that the flash player is heavily investigating the functionality of their filter and they will probably be eager to fix the problem.
If you find one, you might want to list it here so others become aware of it.
Also, I am curious regarding whether you find anything.
IF it is not one of those filters, then I have no clue. (But I am guessing you will find one that is the problem...) :-)
Thanks,
Howard
Last edited by Handy13; 10-19-2009 at 11:44 AM.
-
Solved - Thank You.
Using your instructions I was able to fix my flash player on Windows Vista.
GraphEdit lists these video input sources:
1. AVerMedia, AVerTV WDM Video Capture (878)
File: ksproxy.ax
2. Enosoft Net DV Receiver
File: c:\Program Files\Enosoft\Enosoft DV Processor - Unlicensed\EnoNetDVRx.dll
3. Enosoft Net DV Transmitter
File: c:\Program Files\Enosoft\Enosoft DV Processor - Unlicensed\EnoNetDVTx.dll
4: Enosoft Virtual DV Renderer
File: c:\Program Files\Enosoft\Enosoft DV Processor - Unlicensed\EnoVirtualDVRenderer.dll
5. Enosoft Virtual DV Source
File: c:\Program Files\Enosoft\Enosoft DV Processor - Unlicensed\EnoVirtualDV.dll
6. Philips SPC 900NC PC Camera
File: ksproxy.ax (same as AverMedia Capture Device ?!)
After unregistering No. 5 (Enosoft Virtual DV Source - EnoVirtualDV.dll)
Flash was fine again.
So what's that?
Well, Enosoft's VirtualDV Package came bundeled with their excellent 'Enosoft DV Processor', which I use to convert DV - AVI files from type 1 to type 2, (without re-encoding) so MediaShow Espresso accepts them as 16:9 widescreen source, it does so only for type 2 DV-AVI files.
I think the bundled driver can be used to have a DV device act as video input source,
but I am not sure about that. See their website: (www.enosoft.net) The software is free for personal use.
It may very well be, that the software is coded properly, but something on my
windows effed it up. I contacted them anyway to report the issue.
After unregistering all Enosoft entries (2 - 5) the DV Processor software
(the part I use) still works, and so does Flash.
A big Thank You for helping me out.
I was thinking about installing Windows 7 on a separate partition
just to have flash working again. I guess, it has become that important 
sd
Last edited by stardate; 10-20-2009 at 10:00 AM.
-
Thank you very much
Handy13...
You are the man.
Thank you very much!!!
I uninstalled IPKamera and Super Webcam Capture and UStream works great!
Thank you for all your time and effort and your detailed instructions!
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|