[libcamera-devel] [PATCH 2/2] libcamera: v4l2_videodevice: Print fd value in log prefix
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Mar 3 18:16:31 CET 2021
Hi Kieran,
On Wed, Mar 03, 2021 at 04:41:47PM +0000, Kieran Bingham wrote:
> On 03/03/2021 16:37, Laurent Pinchart wrote:
> > When opening a V4L2VideoDevice multiple times, for instance to run
> > multiple jobs on a M2M device, it's useful to attribute log messages to
> > a particular instance. Include the device fd in the log prefix.
>
> An example of how the change looks in the output might have been nice here.
>
> It looks like it goes from
>
> [out] or [cap]
> to
> [234:out] or [234:cap]
Good point. I'll add
This turns the existing output
[1:43:01.958321522] [277] DEBUG V4L2 v4l2_videodevice.cpp:1440 /dev/video0[cap]: Queueing buffer 0
[1:43:01.958350060] [277] DEBUG V4L2 v4l2_videodevice.cpp:1440 /dev/video0[cap]: Queueing buffer 1
[1:43:01.958365137] [277] DEBUG V4L2 v4l2_videodevice.cpp:1440 /dev/video0[cap]: Queueing buffer 2
into
[1:43:01.958321522] [277] DEBUG V4L2 v4l2_videodevice.cpp:1440 /dev/video0[14:cap]: Queueing buffer 0
[1:43:01.958350060] [277] DEBUG V4L2 v4l2_videodevice.cpp:1440 /dev/video0[14:cap]: Queueing buffer 1
[1:43:01.958365137] [277] DEBUG V4L2 v4l2_videodevice.cpp:1440 /dev/video0[14:cap]: Queueing buffer 2
> Which is fine by me, and gives each context a unique reference.
>
> We could choose to do that only on M2M nodes if those are the only ones
> that are possible to open multiple times ... but maybe that's overkill
> and would require more processing in this code path.
That, and it may make it more difficult for scripts to process the log,
if needed.
> Reviewed-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
>
> > Signed-off-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > ---
> > src/libcamera/v4l2_videodevice.cpp | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/src/libcamera/v4l2_videodevice.cpp b/src/libcamera/v4l2_videodevice.cpp
> > index c77e1aff7978..cb52d4cea3f6 100644
> > --- a/src/libcamera/v4l2_videodevice.cpp
> > +++ b/src/libcamera/v4l2_videodevice.cpp
> > @@ -711,7 +711,8 @@ void V4L2VideoDevice::close()
> >
> > std::string V4L2VideoDevice::logPrefix() const
> > {
> > - return deviceNode() + (V4L2_TYPE_IS_OUTPUT(bufferType_) ? "[out]" : "[cap]");
> > + return deviceNode() + "[" + std::to_string(fd()) +
> > + (V4L2_TYPE_IS_OUTPUT(bufferType_) ? ":out]" : ":cap]");
> > }
> >
> > /**
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list