Re: [GnomeMeeting-list] video failure with ovfx2



On Mon, Aug 25, 2003 at 11:56:16AM +0200, Damien Sandras wrote:
> > PVideoDevice::SetFrameSizeConverter() includes the following code, near
> > the top:
> > 
> >   if (!converter)
> >     converter = PColourConverter::Create(colourFormat, colourFormat, width, heig
> > ht);
> >   if (!converter) {
> >     PTRACE(1, "PVidDev\tSetFrameSizeConverter Colour converter creation failed")
> > ;
> >     return FALSE;
> >   }
> > 
> > If the color format has not been initialized at that point -- which it 
> > hasn't, in the gnomemeeting code -- then colourFormat will be an empty
> > string, and PColourConverter::Create() will attempt to look up a conversion
> > from "" to "", and since it has no such conversion registered, it will
> > return NULL.
> > 
> 
> You are missing that part :
> if (SetFrameSize(width, height))
>     return TRUE;

But in this case, that returns FALSE, and then SetFrameSizeConverter
returns FALSE because it can't create a PColourConverter, and then
GnomeMeeting gives an error and refuses to use the video device.

Are you saying it's a driver issue that SetFrameSize() returns FALSE?
I don't think so -- drivers are not mandated to support any particular
frame size, right?  That's why SetFrameSizeConverter() does all the
work to find the closest size and set up a cropping function and so on.

Seems to me like no one order is correct -- all the parameters ought
to be initialized at once, or something.  Maybe we could change pwlib
to return a better error message from OpenFull(), and then that could
be used?

Dan Egnor



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]