Re: [GnomeMeeting-list] video failure with ovfx2



Le lun 25/08/2003 à 11:56, Damien Sandras a écrit :
> Le dim 24/08/2003 à 16:21, Dan Egnor a écrit :
> 
> > 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;
> 
> So what happens is that SetFrameSizeConverter only sets the right size
> in the variables, without doing any ioctl. The converter will then be
> created in SetColourConverter, with the right size. That, only if your
> camera supports the sizes requested by gnomemeeting.
> 

"without doing any ioctl" : that's of course wrong, sorry for that
mistake ;)

> If you call SetFrameSizeConverter after the SetColourFrameConverter,
> then the converter will probably be created with the wrong size in
> SetFrameColourFrameConverter, that will be fixed later when you are
> calling SetFrameSizeConverter.
> 
> 
> > What I wonder is: how can that order of initialization work with any
> > driver?  It seems guaranteed to fail in libpt before even touching the
> > driver, but surely it doesn't.  Why did you change the order of 
> 
> See my comment above.
> 
> > initialization at all?  And why not just use PVideoInput::OpenFull(),
> > which initializes everything at once in the correct order?
> 
> Because it doesn't give a precise report of what error there is.
> 
> > The driver only supports a single size and colour palette, anyway, as far
> > as I know; anything else is done by conversion (in GM's case, in the pwlib
> > layer).  Anyway, I guess I'll dig into the pwlib capture code.
> 
> I had tought a lot to the order of initialisation of things in pwlib/gm.
> It seems some drivers are unhappy with some order, others are unhappy in
> some other order. I will revert to the old one because it seems more
> logical and more correct for cameras that do not support the requested
> frame size and that return an error for other frame sizes.
-- 
 _	Damien Sandras
(o-	GnomeMeeting: http://www.gnomemeeting.org/
//\	FOSDEM 2003:  http://www.fosdem.org
v_/_	H.323 phone:  callto://ils.seconix.com/dsandras seconix com




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