From 04d5be7f76fe350997d7cd1c1ea54a5b1972404e Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Fri, 8 Feb 2019 16:42:40 +0200 Subject: libcamera: v4l2_device: Inherit from Loggable to print device node name MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Automate printing of device node name in log messages by inheriting from the Loggable class. Signed-off-by: Laurent Pinchart Reviewed-by: Niklas Söderlund --- src/libcamera/include/v4l2_device.h | 7 ++++++- src/libcamera/v4l2_device.cpp | 16 +++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) (limited to 'src') diff --git a/src/libcamera/include/v4l2_device.h b/src/libcamera/include/v4l2_device.h index 988e646c..983b9d90 100644 --- a/src/libcamera/include/v4l2_device.h +++ b/src/libcamera/include/v4l2_device.h @@ -15,6 +15,8 @@ #include +#include "log.h" + namespace libcamera { class Buffer; @@ -76,7 +78,7 @@ public: unsigned int planesCount; }; -class V4L2Device +class V4L2Device : protected Loggable { public: explicit V4L2Device(const std::string &deviceNode); @@ -106,6 +108,9 @@ public: int streamOn(); int streamOff(); +protected: + std::string logPrefix() const; + private: int getFormatSingleplane(V4L2DeviceFormat *format); int setFormatSingleplane(V4L2DeviceFormat *format); diff --git a/src/libcamera/v4l2_device.cpp b/src/libcamera/v4l2_device.cpp index 64325ff9..23c0da29 100644 --- a/src/libcamera/v4l2_device.cpp +++ b/src/libcamera/v4l2_device.cpp @@ -262,8 +262,7 @@ int V4L2Device::open() if (ret < 0) { ret = -errno; LOG(V4L2, Error) - << "Failed to open V4L2 device '" << deviceNode_ - << "': " << strerror(-ret); + << "Failed to open V4L2 device: " << strerror(-ret); return ret; } fd_ = ret; @@ -278,9 +277,8 @@ int V4L2Device::open() } LOG(V4L2, Debug) - << "Opened '" << deviceNode_ << "' " - << caps_.bus_info() << ": " << caps_.driver() - << ": " << caps_.card(); + << "Opened device " << caps_.bus_info() << ": " + << caps_.driver() << ": " << caps_.card(); if (!caps_.isCapture() && !caps_.isOutput()) { LOG(V4L2, Debug) << "Device is not a supported type"; @@ -350,6 +348,11 @@ void V4L2Device::close() * \return The string containing the device location */ +std::string V4L2Device::logPrefix() const +{ + return deviceNode_; +} + /** * \brief Retrieve the image format set on the V4L2 device * \param[out] format The image format applied on the device @@ -519,8 +522,7 @@ int V4L2Device::requestBuffers(unsigned int count) return ret; } - LOG(V4L2, Debug) - << deviceNode_ << ":" << rb.count << " buffers requested."; + LOG(V4L2, Debug) << rb.count << " buffers requested."; return rb.count; } -- cgit v1.2.1