[GEM-dev] Gem patches to fix DV4L bugs and crashes

Ivica Ico Bukvic ico.bukvic at gmail.com
Mon Feb 19 16:11:32 CET 2007


> > +NB: It is very likely that it may be necessary for this method to exist
> for other types of video devices, but since I was unable to test them,
> I've put it under the most restrictive ifdef available.
> > +
> > +Ico Bukvic ico at vt.edu 2-18-07
> > +*/
> > +#ifdef HAVE_LIBDV
> > +  if (m_videoHandle)m_videoHandle->stopTransfer();
> > +#endif /* DV4L */
> >  }
> >
> 
> this is weird and does not make full sense to me. e.g. if you have
> compiled Gem with v4l AND libdv support (2 drivers), then the
> stopTransfer() of the currently used handle will be called on
> destruction of the [pix_video] object. (this could as well be the
> V4L-handle; so the define does not exactly what it suggests that it
> might do)
> 
> i have replaced your suggestion by calling the destructor of all
> existing handles on destruction of pix_videoNEW.
> 
> please check whether this still fixes your issues.

I just checked out the CVS. Yes, your solution is more universal. I simply
wasn't sure what were the implications without digging much deeper into the
code so my proposed solution was simply a well isolated "hack" to expose the
problem while limiting its impact on the overall functionality. Thanks for
making this more transparent!

I will check this shortly and will let you know if it works as expected (I
anticipate it will).

Best wishes,

Ico





More information about the GEM-dev mailing list