Hi Hans, On Monday 18 January 2010 13:58:09 Hans Verkuil wrote: > On Tue, 22 Dec 2009, Sakari Ailus wrote: > > Limit event queue length to V4L2_MAX_EVENTS. If the queue is full any > > further events will be dropped. > > > > This patch also updates the count field properly, setting it to exactly > > to number of further available events. > > > > Signed-off-by: Sakari Ailus <sakari.ailus@xxxxxxxxxxxxxxxxxxxxxxxxxx> > > --- > > drivers/media/video/v4l2-event.c | 10 +++++++++- > > include/media/v4l2-event.h | 5 +++++ > > 2 files changed, 14 insertions(+), 1 deletions(-) [snip] > > diff --git a/include/media/v4l2-event.h b/include/media/v4l2-event.h > > index b11de92..69305c6 100644 > > --- a/include/media/v4l2-event.h > > +++ b/include/media/v4l2-event.h > > @@ -28,6 +28,10 @@ > > #include <linux/types.h> > > #include <linux/videodev2.h> > > > > +#include <asm/atomic.h> > > + > > +#define V4L2_MAX_EVENTS 1024 /* Ought to be enough for everyone. */ > > I think this should be programmable by the driver. Most drivers do not use > events at all, so by default it should be 0 or perhaps it can check whether > the ioctl callback structure contains the event ioctls and set it to 0 or > some initial default value. > > And you want this to be controlled on a per-filehandle basis even. If I > look at ivtv, then most of the device nodes will not have events, only a > few will support events. And for one device node type I know that there > will only be a single event when stopping the streaming, while another > device node type will get an event each frame. Don't you mean per video node instead of per file handle ? In that case we could add a new field to video_device structure that must be initialized by drivers before registering the device. > So being able to adjust the event queue dynamically will give more control > and prevent unnecessary waste of memory resources. -- Regards, Laurent Pinchart -- To unsubscribe from this list: send the line "unsubscribe linux-media" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html