Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

vcam cannot work in Adobe Flash Player 10.

72 views
Skip to first unread message

Ma@discussions.microsoft.com Morris Ma

unread,
Mar 8, 2010, 12:36:01 AM3/8/10
to
I downloaded vcam.zip, it works well in msn,skype etc. But it makes Flash
Play 10 collapse when I open the flashplayer's setting menu and enter into
camera setting tab.
Thank you for any help.

rep_movsd

unread,
Apr 1, 2010, 1:45:38 PM4/1/10
to
On Mar 8, 10:36 am, Morris Ma <Morris M...@discussions.microsoft.com>
wrote:

I am the original author and I shall take a look at this issue...

太郎 麻生

unread,
Apr 12, 2010, 8:35:55 PM4/12/10
to
I've got the same issue with the VCam.ax and the FlashPlayer10. I can
use the VCam.ax with the LiveMessenger and the Skype.
Is this a FlashPlayer's fault or not ?


太郎 麻生

unread,
Apr 12, 2010, 10:01:39 PM4/12/10
to

I can render images from the vcam.ax with restricted flash's Video-
object size that is 320x240.
It seems that the implementation of the vcam.ax supports the avobe
video object size.

太郎 麻生

unread,
Apr 13, 2010, 7:10:21 AM4/13/10
to
I've met an exception below with FlashPlayer10 and 640x480 video-
object size.

Unhandled exception at 0x689ea17f in iexplore.exe: 0xC0000094:
Integer division by zero

太郎 麻生

unread,
Apr 13, 2010, 11:52:21 AM4/13/10
to
This VCamD.ax's implementation has only supported video sizes that is
multiple of 80x60. So the VCamD.ax throws an exception via integer
division by zero when VCamD.ax encountered with irregular screen
ratios.

太郎 麻生

unread,
Apr 13, 2010, 11:52:27 AM4/13/10
to

太郎 麻生

unread,
Apr 13, 2010, 11:52:36 AM4/13/10
to

太郎 麻生

unread,
Apr 14, 2010, 2:08:45 PM4/14/10
to
VCam.ax's has corresponded with resolution of 320x240. So I've
implemented the GetMediaType and the GetStreamCaps for the other
resolutions and now it working with the arbitrary resolutions.

太郎 麻生

unread,
Apr 14, 2010, 2:08:52 PM4/14/10
to

太郎 麻生

unread,
Apr 14, 2010, 5:34:31 PM4/14/10
to
I'd correponded to the "dynamic resolution changing issue" by
modifying the CheckMediaType method in this sample like below...

HRESULT CVCamStream::CheckMediaType(const CMediaType *pMediaType)
{
VIDEOINFOHEADER *pvi = (VIDEOINFOHEADER *)(pMediaType->Format());

if(
pvi->bmiHeader.biWidth != prev_vid_info.bmiHeader.biWidth ||
pvi->bmiHeader.biHeight != prev_vid_info.bmiHeader.biHeight
)
{
prev_vid_info = *pvi;

if(
pvi->bmiHeader.biWidth % 80 == 0
&& pvi->bmiHeader.biHeight % 60 == 0 )
{
int index = pvi->bmiHeader.biWidth / 80;
GetMediaType( index, &m_mt );
}
else
{
GetMediaType( 9, &m_mt );
}

IPin* pin;
ConnectedTo(&pin);
if(pin)
{
IFilterGraph *pGraph = m_pParent->GetGraph();
pGraph->Reconnect(this);
}
}

if(*pMediaType != m_mt)
return E_INVALIDARG;
return S_OK;
} // CheckMediaType

The point of interest is that the m_mt member variable. Throw this
member varibale to the GetMediaType function then video's property
will be changed.

thanks all masters

太郎 麻生

unread,
Apr 14, 2010, 5:36:56 PM4/14/10
to

I'd forgot an important thing that should be wrote.
You should prepare resolutions corresponding to change in the
GetMediaType-function.

0 new messages