[libcamera-devel] [PATCH 0/3] Sequence Observer
Kieran Bingham
kieran.bingham at ideasonboard.com
Mon May 9 22:38:36 CEST 2022
Quoting Laurent Pinchart (2022-05-09 14:33:00)
> Hi Kieran,
>
> On Fri, Apr 29, 2022 at 09:34:31PM +0200, Kieran Bingham via libcamera-devel wrote:
> > This fell out of some more work I did in the past catching and detecting
> > frame drops in streams. While the method of reporting this event to
> > userspace is debated, this pulls out some core functionality and wraps
> > some generic code into a Sequence Observer to provide an easy to use
> > check on any monotonic sequence.
> >
> > For now - it simply reports a warning if a V4L2 device detects a frame
> > drop, which is more notification that we have currently... as we are
> > silently dropping frames at the moment.
>
> Even if we haven't finalized the way to handle frame drops in the
> application-facing API, I think it's useful to be able to be notified of
> frame drops already. I'm however thinking that the sequence observer
> class is a bit overkill at this point. I'd recommend starting with an
> ad-hoc solution in V4L2VideoDevice only, and later extend it if
> required.
Of course this did start of as an ad-hoc solution in V4L2VideoDevice and
then became the observer because I had the same snippets of
functionality in 4 different places. (But I think you don't like those
either so ... we'll find out later).
But anyway, that's why I split this out as I thought it was a helpful
... helper.
As it happens, I need to put more thought and consideration into this
anyway, as a warning print really is too noisy anyway - so I don't think
it can even suffice as a starting point to print a warning (Perhaps a
Debug though)
(I am partialy concerned that we can have so many frame drops that a
warning print can be too noisy, but I think that it probably would be
expected behaviour in some scenarios, even if we weren't using
libcamera).
>
> > Kieran Bingham (3):
> > libcamera: Add sequence value observer
> > test: Add Sequence observer tests
> > libcamera: v4l2: Detect frame drops on V4L2VideoDevice
> >
> > include/libcamera/internal/v4l2_videodevice.h | 2 +
> > include/libcamera/meson.build | 1 +
> > include/libcamera/sequence.h | 20 +++++
> > src/libcamera/meson.build | 1 +
> > src/libcamera/sequence.cpp | 66 +++++++++++++++
> > src/libcamera/v4l2_videodevice.cpp | 10 +++
> > test/meson.build | 1 +
> > test/sequence.cpp | 80 +++++++++++++++++++
> > 8 files changed, 181 insertions(+)
> > create mode 100644 include/libcamera/sequence.h
> > create mode 100644 src/libcamera/sequence.cpp
> > create mode 100644 test/sequence.cpp
>
> --
> Regards,
>
> Laurent Pinchart
More information about the libcamera-devel
mailing list